2013-03-11 22 views

回答

8

我想你的意思FROM_UNIXTIME

GROUP BY 
    DATE_FORMAT(FROM_UNIXTIME(time_column), '%Y %m %d %H')) 
4
SELECT * 
FROM table 
GROUP BY DATE_FORMAT(FROM_UNIXTIME(time_col_name), '%H') 

查看MySQL的Date documentation

編輯:

使用DATE_FORMAT而不是可靠地確定小時的格式返回。見DATE_FORMAT documentation注意:格式%H將在格式00,01返回小時的價值,...... 23

+1

HOUR(FROM_UNIXTIME(...))不工作刮鬍子一對夫婦秒掉我的時間。 – 2013-03-11 00:22:55

+0

嘗試將其移動到'SELECT'子句並引用別名。 – Aiias 2013-03-11 00:24:26

1

是這樣的:在UNIX時間戳後

SELECT HOUR(FROM_UNIXTIME(unixCol)) 
FROM tbl 
GROUP BY HOUR(FROM_UNIXTIME(unixCol)) 

HOUR將提取小時被轉換成日期。

See the documentation

0

嘗試把在變量日期DB數據,然後回聲它。

$timestamp = strtotime($db_data); 
echo date("m-d-Y", $timestamp); 
+0

你真的讀過OP的問題嗎? – 2013-03-11 00:23:34

0

我知道這是最初的問題幾年後,但如果你正在處理更大的數據集,這可能需要更長的時間來執行,由於調用2個功能在查詢集的每一行。

我設法通過採用模塊化的算術有點

GROUP BY FLOOR(time_col/(60*60) MOD 24) 

希望這有助於:)