SQL: Zählen von Datensätzen in 5,10,15 Minuten Intervall

Buddel-Mcfly

Neuer Benutzer
Beiträge
1
Hallo,

ich habe Probleme bei einer SQL-Abfrage. Ich habe eine Tabelle mit sehr vielen Meldungen und möchte in 15 Minuten-Intervall Meldungen zählen.

Tabele Meldungen:
Datum | Meldungen
2018-02-01 18:05:41 | Meldung01
2018-02-01 18:07:15 | Meldung02
2018-02-01 18:12:22 | Meldung03
2018-02-01 18:22:41 | Meldung04
2018-02-01 18:28:38 | Meldung05

Es sollte bei der Abfrage folgendes Ergebnis rauskommen:

Datum (15 Minuten-Intervall) | Count (Meldungen)
18:00-18:15 | 3
18:15-18:30 | 2

Ich hoffe es kann mir jemand weiter helfen und besten Dank voraus.

Besten Gruß
 
Werbung:
Quick and Dirty:
Code:
SELECT   convert(DATE,tabelle.Datum) AS Datum,
       dateadd(minute,datepart(minute,tabelle.Datum) / 15 * 15,dateadd(hour,datepart(hour,tabelle.Datum),convert(TIME,'00:00'))) AS Zeit,
count(*) AS anzahl
FROM   tabelle
GROUP BY
convert(DATE,tabelle.Datum),
       dateadd(minute,datepart(minute,tabelle.Datum) / 15 * 15,dateadd(hour,datepart(hour,tabelle.Datum),convert(TIME,'00:00')))
Jetzt kannst du natürlich noch Datum und Zeit zu DatumZeit wieder zusammen kleben oder du baust dir aus Zeit immer einen String wie "18:00 bis 18:15". Es gibt vermutlich auch noch ca 15 andere Wege...
 
Zurück
Oben