使用PHP将MySQL中的时间戳分组
我想使用time()使用时间码记录
MySql中的某些活动.现在我正在积累数千条记录,我想按小时/天/月等组输出数据.
在MySQL中对时间码进行分组的建议方法是什么? 示例数据: > 1248651289 示例代码: $sql = "SELECT COUNT(timecode) FROM timecodeTable"; //GROUP BY round(timecode/3600,1) //group by hour?? 编辑: 这就是为什么我把它命名为使用PHP,因为我希望通过PHP循环生成小时/天等可能会更容易?
彼得
SELECT COUNT(*),HOUR(timecode) FROM timecodeTable GROUP BY HOUR(timecode); 鉴于上述数据,您的结果集看起来如下: +----------+----------------+ | COUNT(*) | HOUR(timecode) | +----------+----------------+ | 10 | 18 | +----------+----------------+ 可以找到更多相关功能here. 编辑 根据你的评论输出做了我自己的一些测试后,我确定你的数据库处于史诗般的失败状态. :)你使用INT作为TIMESTAMPs.这绝不是一个好主意.使用INT代替TIMESTAMP / DATETIME没有正当理由. 也就是说,您必须修改我的上述示例,如下所示: SELECT COUNT(*),HOUR(FROM_UNIXTIME(timecode)) FROM timecodeTable GROUP BY HOUR(FROM_UNIXTIME(timecode)); 编辑2 您可以使用其他GROUP BY子句来实现此目的: SELECT COUNT(*),YEAR(timecode),DAYOFYEAR(timecode),HOUR(timecode) FROM timecodeTable GROUP BY YEAR(timecode),HOUR(timecode); 注意,为简洁起见,我省略了FROM_UNIXTIME(). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |