【MySQL】分组后,子元素同行展示 "group_concat"

  • group_concat
    有时候我们分组时,需要将子元素的某个字段合并展示,比如:
    有份统计,需要知道一批用户中,有哪些是男生,哪些是女生,又不想放到excel,手动整合,可以使用group_concat函数
  1. 表创建
CREATE TABLE `user_user` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `username` varchar(64) DEFAULT '' COMMENT '真实名称',
  `sex` tinyint(4) DEFAULT '0' COMMENT '性别:0.未知 1.男 2.女',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表';
  1. 数据准备
insert into user_user (username, sex) value 
("小明", 1),("小智", 1),
("小红", 2),("小霞", 2),
("秀吉", 0);
  1. 分组查询,例:
select sex, group_concat(username) from user_user group by sex;

返回结果:


image.png
  1. 分组连接字段可配置,例:
select sex, group_concat(username eparator "|") from user_user group by sex;

返回结果:


image.png

group_concat默认是用因为逗号","隔开,separator 函数可以自定义连接参数

你可能感兴趣的:(【MySQL】分组后,子元素同行展示 "group_concat")