对于多行的数据在一行显示,可以使用group_concat()和group by进行操作
表结构与数据如下:
使用group_concat()和group by显示相同名字的人的id号;
语句如下:
SELECT `name`,GROUP_CONCAT(id) FROM 表名 GROUP BY `name`
结果如下:
1、去重操作
SELECT `name`,GROUP_CONCAT(DISTINCT id) FROM 表名 GROUP BY `name`
2、排序操作
SELECT `name`,GROUP_CONCAT(id ORDER BY id DESC ) FROM 表名 GROUP BY `name`
3、可以设置分隔符
SELECT `name`,GROUP_CONCAT(id SEPARATOR ';') FROM 表名 GROUP BY `name`
这样我们的数据就根据id 不同分隔符 放在了一行 前台可以根据对应的分隔符 对id字段进行分割 但是有可能存在id数据类型过大问题