2009-10-27 41 views
5

我有一個包含查看/點擊記錄的表。時間存儲在unix時間戳中,我需要能夠在特定的月份/日期(基於時間戳)中抽出所有這些時間戳,但更重要的是,我不知道如何執行的部分是將它們分組按小時計算。我需要能夠在單個查詢中完成此操作,而不是在每個小時循環。按小時總結選擇行組

數據庫是MySQL,語言是PHP。

回答

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

如果你需要的所有三:

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

當我運行以下查詢: SELECT *,HOUR(TIMESTAMP)AS HOUR FROM ad_view LIMIT 0,30 它返回838作爲小時,它應該是當天的小時數。 – Webnet 2009-10-27 20:04:42

+0

對不起,時間戳記到當天(0-24)的小時數。 – Webnet 2009-10-27 20:05:39

+0

你確定這確實是一個時間戳嗎?它是存儲在int列中的時間戳整數嗎? – 2009-10-27 20:28:53