我有一个mysql表,其中每个条目包含一个位置字符串和一个日期时间字段。
我想构建一个mysql查询,生成一个报告,其中包含按小时(在行上)和位置(在列上)分组的计数(项目)。
到目前为止,我手动生成按位置分组的报告,我有一个WHERE子句,我在那里迭代每天的每小时(数量为24)。这太麻烦了,我想自动完成。
修改的
这是我现在根据fxzuz
的答案尝试使用的查询SELECT locations.locationName, DATE_FORMAT( '%Y-%m-%d %H', entries.CreatedOn ) , COUNT( pk_entry )
FROM entries
LEFT JOIN locations ON locations.computerName = entries.location
GROUP BY DATE_FORMAT( '%Y-%m-%d %H', entries.CreatedOn )
答案 0 :(得分:2)
mysql函数DATE_FORMAT是什么?
SELECT location, DATE_FORMAT(datetime, '%Y-%m-%d %H'), COUNT(id) FROM table GROUP BY DATE_FORMAT('%Y-%m-%d %H', datetime);