GROUP_CONCAT()总结:
同一个Name的人有多条数据,但是他们的其他数据并不相同,而我们所需要的是同一个Name的人的age集合,即需要获得Name为QQQ的所有的age并且希望将其拼接为一个字段,这里我们就需要用到GROUP_CONCAT()。
测试表:
1.查询相同名字的所有年龄
select name,GROUP_CONCAT(age) FROM person GROUP BY name
2.查询同一个名字,所有的年龄段并将年龄排序(默认升序)
SELECT id,name,GROUP_CONCAT(age ORDER BY age separator ',') FROM person GROUP BY name
3.查询同一个名字,所有的年龄段并将年龄排序(默认升序)并去重
SELECT name,GROUP_CONCAT(DISTINCT age ORDER BY age separator ',') from person GROUP BY name
解释:group_concat函数:是将相同的行组合起来
完整的语法如下:group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator ‘分隔符’])