我在寫一個報告程序,它使用MySQL作爲數據庫和php作爲腳本語言。group by unix timestamp + by 24 hours
我想要做的是按時間對記錄進行分組,並將它們在結果集中最近24小時的小時內分組。
當前查詢
SELECT count(*),time FROM `service_data` GROUP BY time
上面的查詢不被過去24小時內,它只是將相似unixtimestamp一起
表結構
CREATE TABLE IF NOT EXISTS `service_data` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`service_id` varchar(255) NOT NULL,
`ip_address` varchar(255) NOT NULL,
`time` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
在結果組他們設置我想要24個記錄如果在特定小時內沒有報告爲空。
像這樣
| hour | reports |
|------|----------|
| 1 | 5 |
| 2 | 10 |
| 3 | 12 |
| 4 | 25 |
任何幫助將非常感激!
謝謝!
爲什麼時間存儲在'int'而不是'timestamp'? –
,因爲即時通訊使用PHP來插入時間戳只是爲了它。 – Moe
是時間當前unix時間戳嗎? – barudo