57

Group by über eine Datumsspalte (MSSQL) Edit MYSQL SQLite

Mitglied: ChrFriedel
21.04.2010
11:13:03 Uhr
4882 Aufrufe
4 Antworten
Noch nicht bewertet
Hallo an alle,

weil ich gerade selber darüber gestolpert bin und man es vielleicht gelegentlich mal brauchen kann hier meine Lösung um ein Group BY über eine Datumsspalte zu machen. Muss natürlich nicht die beste sein aber für mich funktioniert sie.
Angenommen man hat eine Tabelle mit den 2 Spalten ID und Datum. Das Datum ist in der Form YYYY-MM-DD HH:MM:SS gespeichert. Ein simples Group By für die einzelnen Tage funktioniert durch die abweichenden Zeiten dadurch nicht. Mit folgendem Statement lässt sich das Trotzdem realisieren.

01.
 
02.
SELECT CONVERT(CHAR(12), [Datum], 106)  AS Datum,  
03.
       Count([ID]) AS Anzahl  
04.
 
05.
FROM Tabelle  
06.
 
07.
GROUP BY DATEPART(yy, [Datum]), 
08.
         DATEPART(dy, [Datum]), 
09.
         CONVERT(CHAR(12), [Datum], 106)  
10.
 
11.
ORDER BY DATEPART(yy, [Datum]) desc,  
12.
         DATEPART(dy, [Datum]) desc 
13.
 

Die Ausgabe wäre dann soetwas wie:

Datum | Anzahl
-----------------------------------
21 Apr 2010 | 42
16 Apr 2010 | 130
...

Mitglied: nxclass
nxclass schreibt am 21.04.2010 um 23:14:55 Uhr
01.
SELECT 
02.
  DATE_FORMAT(`Datum`, '%d %b %Y') AS 'Datum', 
03.
  COUNT(`Id`) AS 'Anzahl' 
04.
FROM `Tabelle` 
05.
GROUP BY DATE(`Datum`) 
06.
ORDER BY `Datum` DESC;

Edit: http://dev.mysql.com/doc/refman/5.1/en/da ...
Mitglied: ChrFriedel
ChrFriedel schreibt am 22.04.2010 um 09:33:31 Uhr
Ich vermute jetzt mal das ist das gleiche in MySQL oder?
Mitglied: nxclass
nxclass schreibt am 22.04.2010 um 11:27:40 Uhr
... richtig - und ...
01.
SELECT 
02.
  strftime('%d %b %Y', `Datum`) AS 'Datum', 
03.
  count(´Id`) AS 'Anzahl' 
04.
FROM `Table` 
05.
GROUP BY date(`Datum`) 
06.
ORDER BY `Datum` DESC;
... sollte für SQLite funktionieren.
Mitglied: ChrFriedel
ChrFriedel schreibt am 22.04.2010 um 11:38:00 Uhr
Sieht irgendwie alles logischer aus als bei MSSQL.... aber man kann sichs ja nicht immer aussuchen ;)
mehr ...Ähnliche Beiträge