Mysql查询把多列返回结果集拼接成一个字符串

group_concat()

功能:group by产生的同一个分组中的值连接起来,返回一个字符串结果。

语法:group_concat( [要连接的字段 order by 排序字段 asc/desc ] [separator '分隔符'] )
说明:通过使用distinct可以排除重复值;如果希望对结果中的值进行排序,可以使用order by子句;
		separator是一个字符串值,缺省为一个逗号。

代码

SELECT u.id, u.NAME, r.NAME AS roleName, GROUP_CONCAT(m.NAME) AS merchName, u.state
 	FROM user u
 		LEFT JOIN user_park up ON u.id = up.userid
 		LEFT JOIN merch m ON up.parkid = m.id
 		LEFT JOIN role r ON u.role_id = r.id
	 WHERE 
	 	u.id != 1 and u.state != 2 GROUP BY u.id order by u.id desc
	 	LIMIT 20;

结果

在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐