按小时总结选择行组
问题描述:
我有一个包含查看/点击记录的表。时间存储在unix时间戳中,我需要能够在特定的月份/日期(基于时间戳)中抽出所有这些时间戳,但更重要的是,我不知道如何执行的部分是将它们分组按小时计算。我需要能够在单个查询中完成此操作,而不是在每个小时循环。按小时总结选择行组
数据库是MySQL,语言是PHP。
答
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)
当我运行以下查询: SELECT *,HOUR(TIMESTAMP)AS HOUR FROM ad_view LIMIT 0,30 它返回838作为小时,它应该是当天的小时数。 – Webnet 2009-10-27 20:04:42
对不起,时间戳记到当天(0-24)的小时数。 – Webnet 2009-10-27 20:05:39
你确定这确实是一个时间戳吗?它是存储在int列中的时间戳整数吗? – 2009-10-27 20:28:53