2016-06-24 4 views
1

Ich habe eine Tabelle, die die folgenden ähnelt:HiveQL - Abfrage Anzahl der Einträge über feste Zeiteinheit

LOGIN ID (STRING):  TIME_STAMP (STRING HH:MM:SS) 
BillyJoel    10:45:00 
PianoMan    10:45:30 
WeDidnt     10:45:45 
StartTheFire   10:46:00 
AlwaysBurning   10:46:30 

Gibt es eine Möglichkeit, eine Abfrage zu erhalten, die mir eine Spalte der Anzahl der gibt Logins über einen Zeitraum? Etwas wie folgt aus:

3 (number of logins from 10:45:00 - 10:45:59) 
2 (number of logins from 10:46:00 - 10:46:59) 

Hinweis: Wenn Sie es nur mit int Zeitstempel tun, das ist in Ordnung. Mein ursprünglicher Tisch besteht aus allen Saiten, also dachte ich, ich würde das hier darstellen. Das Zeug in Klammern brauchen nicht

Antwort

1

gedruckt werden, wenn Sie es von Minute möchten, können Sie nur die Sekunden abreißen:

select substr(1, 5, time_stamp) as hhmm, count(*) 
from t 
group by hhmm 
order by hhmm; 
+0

Danke, aber was ist, wenn ich eine nicht-orthodoxe Messung wollen, wie 2 Minuten oder eine halbe Minute? – knowads

+0

@ knowsads. . . Stellen Sie dann eine andere Frage. Das ist nicht ganz so einfach zu lösen. –

Verwandte Themen