Seite 1 von 1

SQL Problem Group By

Verfasst: 30.08.2005 02:58
von mm_02
Hallo Zusammen,

ich hoffe ihr koennt mir weiterhelfen:
Ich habe folgende Tabelle

IDSales | Monat | Budget
-------------------------------------
1 08.2003 200
2 09.2003 300
3 10.2003 200
4 11.2003 400
5 12.2003 500
6 01.2004 100
7 02.2004 800
8 03.2004 500
9 04.2004 700
10 05.2004 500
11 06.2004 250
12 07.2004 220
13 08.2004 440
14 09.2004 550
15 10.2004 800
16 11.2004 444
17 12.2004 215
18 01.2005 199
19 02.2005 266
20 03.2005 650
21 04.2005 800
... ... ...

hier sind Daten ueber mehrere Jahre enthalten. Ich moechte nun eine Abfrage auf diese Tabelle machen, die mir das Budget fuer ein Jahr liefert. Die Spalte Monat ist als Date formatiert. Kann ich sagen:"addiere alle Umsaetze die innerhalb von 12 Monaten angefallen sind? Wie sieht das dann in SQL aus?

Vielen Dank im voraus
mm

Verfasst: 30.08.2005 03:37
von Pyramide

Code: Alles auswählen

SELECT sum(budget) FROM tabelle WHERE monat BETWEEN [01.2004] AND [12.2004]
Vorrausgesetzt die Spalte ist wirklich ein Datumsfeld. Bei einem Text- oder Zahlentyp folgt nämlich nach 01.2004 01.2005, dann 01.2006 usw.

Verfasst: 30.08.2005 05:22
von mm_02
ja dann bekomme ich aber nur Datensaetze die innerhalb des Jahres 2004 datiert sind. Ich moechte aber 3 Datensaetze, alle Budgets 2003, 2004 und 2005 in einer Abfrage...ist dies moeglich?

Verfasst: 30.08.2005 10:30
von mristau2k5
dann hol dir alle Datensätze und verteil die mit PHP, oder mach für jedes Jahr ne einzelne Abfrage

Verfasst: 30.08.2005 14:32
von Pyramide

Code: Alles auswählen

SELECT year(datum) AS jahr, sum(budget) FROM tabelle GROUP BY jahr
http://dev.mysql.com/doc/mysql/en/date- ... tions.html