Php 选择汇总表中的行并按小时分组

Php 选择汇总表中的行并按小时分组,php,mysql,timestamp,group-by,Php,Mysql,Timestamp,Group By,我有一个包含查看/单击记录的表。时间存储在unix时间戳中,我需要能够在特定的月/日(基于时间戳)内提取所有时间,但更重要的是,我不知道如何按小时对它们进行分组。我需要能够在一个查询中完成这项工作,而不是每小时循环一次 数据库是MySQL,语言是PHP select hour(somedate), count(*) from yourtable group by hour(somedate) 如果您需要这三个: select month(somedate), day(somedate), ho

我有一个包含查看/单击记录的表。时间存储在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作为小时,其中它应该是当前一天中的小时数。对不起,时间戳是当前一天(0-24)中的小时数。你确定这真的是一个时间戳吗?它是存储在int列中的时间戳整数还是什么?hour()需要时间,而不是unix时间戳。您想使用小时(从unixtime(somedate))开始)。其他函数也一样?如果它是unix timestamp int而不是timestamp类型的列,keith可能是对的