MySQL:按小时和其他不同字段分组
MySQL: group by hour AND by other distinct fields
我有一个 'logs' table,其中存储了搜索结果的计数器,以及搜索查询和搜索它的用户。
我的目标是显示按小时分组的结果,但我在使用 GROUP BY 时遇到了一些问题,因为我在此过程中丢失了不同的用户/查询。
这里是 fiddle:http://sqlfiddle.com/#!9/484c01/7
如您所见,结果是根据结果编号计算的。但输出不正确。在此先感谢您的帮助。
以下方法可以返回的数据大小有限制,但是如果您想在执行 GROUP BY
时保留 non-grouped-by-columns 的不同行值,您可以使用 GROUP_CONCAT
MySQL 函数,它将每一行的值组合成一行,用逗号分隔。
有关用法示例,请参阅 http://dev.mysql.com/doc/refman/5.6/en/group-by-functions.html#function_group-concat。
重要提示:请务必阅读上面提供的 link 中关于 group_concat_max_len
和 max_allowed_packet
的文档说明。
我有一个 'logs' table,其中存储了搜索结果的计数器,以及搜索查询和搜索它的用户。
我的目标是显示按小时分组的结果,但我在使用 GROUP BY 时遇到了一些问题,因为我在此过程中丢失了不同的用户/查询。
这里是 fiddle:http://sqlfiddle.com/#!9/484c01/7
如您所见,结果是根据结果编号计算的。但输出不正确。在此先感谢您的帮助。
以下方法可以返回的数据大小有限制,但是如果您想在执行 GROUP BY
时保留 non-grouped-by-columns 的不同行值,您可以使用 GROUP_CONCAT
MySQL 函数,它将每一行的值组合成一行,用逗号分隔。
有关用法示例,请参阅 http://dev.mysql.com/doc/refman/5.6/en/group-by-functions.html#function_group-concat。
重要提示:请务必阅读上面提供的 link 中关于 group_concat_max_len
和 max_allowed_packet
的文档说明。