SQL将的同一个分组中的值连接起来,返回一个字符串结果 使用group_concat()

SQL将的同一个分组中的值连接起来,返回一个字符串结果 使用group_concat()_第1张图片
我们在开发过程中编写的SQL:同一个名字出现多次,看上去非常不直观。有没有更直观的方法,既让每个名字都只出现一次,又能够显示所有的名字相同的人的id呢?——使用group_concat()
1、功能:将group by产生的同一个分组中的值连接起来,返回一个字符串结果。

2、语法:group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator ‘分隔符’] )

说明:通过使用distinct可以排除重复值;如果希望对结果中的值进行排序,可以使用order by子句;separator是一个字符串值,缺省为一个逗号。
3、举例:

例1:使用group_concat()和group by显示相同名字的人的id号:

SQL将的同一个分组中的值连接起来,返回一个字符串结果 使用group_concat()_第2张图片

例2:将上面的id号从大到小排序,且用’_'作为分隔符:
SQL将的同一个分组中的值连接起来,返回一个字符串结果 使用group_concat()_第3张图片

例3:上面的查询中显示了以name分组的每组中所有的id。接下来我们要查询以name分组的所有组的id和score:

SQL将的同一个分组中的值连接起来,返回一个字符串结果 使用group_concat()_第4张图片

你可能感兴趣的:(解决方法,sql)