Betrachten Sie die folgende Tabelle:Wie wird die Anzahl der Nachrichten pro halbe Stunde gezählt?
msg_id _time
-------------
1 13:32
2 13:56
3 14:05
4 15:00
5 15:17
6 15:28
7 16:40
Ich bin derzeit die Anzahl der Nachrichten pro Stunde aggregieren, wie folgt:
SELECT HOUR(_time) AS hour, COUNT(msg_id) AS cnt FROM messages GROUP BY hour
ORDER BY hour
Dieses in einem resultset ergibt sich wie folgt:
hour cnt
---------
13 2
14 1
15 3
16 1
Was ich will, ist jedoch die Anzahl pro halb Stunde:
hour cnt
----------
13:30 2
14:00 1
14:30 0
15:00 3
15:30 0
16:00 0
16:30 1
Was ist die Abfrage, die dies ermöglicht? Bei Bedarf könnte ich einen Tisch mit der halben Stunde (00:00, 00:30, 01:00, 01:30, ... 23:00, 23:30) mkachen, aber lieber nicht. (Und ich würde immer noch nicht wissen, wie man diesen Tisch benutzt).
Jede Hilfe wird sehr geschätzt :-)
Warum heißt die Spalte immer noch "Stunde"? Vielleicht wäre "Zeit" angemessener? –
Sie können Minute (_time) durch 30 teilen und gruppieren um diesen Wert zusätzlich zu Stunden. Möglicherweise müssen Sie result in int umwandeln, da bin ich mir nicht sicher. –
Hey! Hast du dein Problem gelöst? Wenn ja, markieren Sie bitte die Antwort, die es als die richtige Antwort gelöst hat, um anderen zu helfen. Wenn nicht, bitte geben Sie uns Feedback darüber. – rcdmk