2009-10-27 15 views
5

Ho una tabella contenente record di visualizzazione/clic. Il tempo è memorizzato in un timestamp unix e ho bisogno di essere in grado di estrarli tutti nello specifico mese/giorno (in base al timestamp), ma ancora più importante e la parte che non so come fare è raggrupparli per ora. Devo essere in grado di farlo in una singola query piuttosto che scorrere ogni ora.Seleziona e raggruppa righe in riepilogo per ora

Il database è MySQL, la lingua è PHP.

risposta

5
select hour(somedate), count(*) from yourtable group by hour(somedate) 

Se avete bisogno di tutti e tre:

select month(somedate), day(somedate), hour(somedate), count(*) from yourtable group by month(somedate), day(somedate), hour(somedate) 
+0

Quando eseguo la seguente query: SELECT *, ORA (TIMESTAMP) COME ORA DA ad_view LIMIT 0, 30 Si restituisce 838 come l'ora, dove dovrebbe essere il numero di ore nel giorno corrente. – Webnet

+0

Siamo spiacenti, il numero di ore nel giorno corrente (0-24) che è il timestamp. – Webnet

+0

sei sicuro che sia davvero un timestamp? è un intero timestamp memorizzato in una colonna int o qualcosa del genere? –