今天有个需求需要将mysql查询结果进行聚合,搜了一下,返现还真有将group by后的结果进行聚合的函数:
GROUP_CONCAT,这个函数很强大,直接可以吧group by后的结果拼接成一个长字符串,默认用“,”分割,
比如表hero_item 里有vlogId字段和heroId字段,如果先聚合所有heroId对应的vlogId,可以这样写:
SELECT
heroId,
COUNT(DISTINCT vlogId) as size,
GROUP_CONCAT(DISTINCT vlogId) as vlogids
FROM
hero_vedio_item
GROUP BY
heroId
查询结果如下:
heroId size vlogIds
1 15 1223,124,343434,12323,.......
这样做是不是少了很多我们原来需要在java或者php中再次进行解析的工作了呢?

本文介绍如何使用MySQL的GROUP_CONCAT函数来高效地聚合查询结果,并将其转换为一个长字符串,从而避免在Java或PHP中进行额外的数据解析工作。以hero_item表为例,展示了如何聚合所有heroId对应的vlogId,并通过GROUP_CONCAT函数得到一个由逗号分隔的字符串结果。
1257

被折叠的 条评论
为什么被折叠?



