ho un datetime chiamato activity_dt ei dati si presenta così:gruppo DateTime per data e l'ora
2/5/2013 9:24:00 AM
2/7/2013 7:17:00 AM
Come faccio gruppo in base alla data e l'ora?
ho un datetime chiamato activity_dt ei dati si presenta così:gruppo DateTime per data e l'ora
2/5/2013 9:24:00 AM
2/7/2013 7:17:00 AM
Come faccio gruppo in base alla data e l'ora?
SQL Server:
SELECT [activity_dt], count(*)
FROM table1
GROUP BY DATEPART(day, [activity_dt]), DATEPART(hour, [activity_dt]);
Oracle:
SELECT [activity_dt], count(*)
FROM table1
GROUP BY TO_CHAR(activity_dt, 'DD'), TO_CHAR(activity_dt, 'hh');
MySQL:
SELECT [activity_dt], count(*)
FROM table1
GROUP BY hour(activity_dt) , day(activity_dt)
SELECT [activity_dt], COUNT(*) as [Count]
FROM
(SELECT dateadd(hh, datediff(hh, '20010101', [activity_dt]), '20010101') as [activity_dt]
FROM table) abc
GROUP BY [activity_dt]
Utilizzando MySQL faccio di solito in questo modo:
SELECT count(id), ...
FROM quote_data
GROUP BY date_format(your_date_column, '%Y%m%d%H')
order by your_date_column desc;
o nella stessa idea, se avete bisogno di uscita data/ora:
SELECT count(id) , date_format(your_date_column, '%Y-%m-%d %H') as my_date
FROM your_table
GROUP BY my_date
order by your_date_column desc;
Se si specifica un indice sul vostro colonna della data, MySQL dovrebbe essere in grado di usarlo per accelerare le cose un piccolo.
Ho dovuto sostituire% h con% H, l'ordinamento con 0-24 funziona meglio per me invece di 0-12 e 0-12. – Melvin
@Melvin Hai ragione, ho corretto la mia risposta. – Simon
Solo una nota riguardante l'utilizzo dell'indice. Mentre date_format consente di utilizzare gli indici, gli indici saranno utilizzati in modo ottimale (scansione indice allentata) solo quando vengono utilizzate funzioni di aggregazione specifiche/limitate. Generalmente, solo MIN() e MAX() applicati a una singola colonna consentono scansioni di indici e anche altri aggregati purché specificino la parola chiave DISTINCT. Fonte: [collegamento] (http://dev.mysql.com/doc/refman/5.7/en/group-by-optimization.html) – JavoSN
che rdbms hai usato? –