- group_concat
有时候我们分组时,需要将子元素的某个字段合并展示,比如:
有份统计,需要知道一批用户中,有哪些是男生,哪些是女生,又不想放到excel,手动整合,可以使用group_concat函数
- 表创建
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='用户表';
- 数据准备
insert into user_user (username, sex) value
("小明", 1),("小智", 1),
("小红", 2),("小霞", 2),
("秀吉", 0);
- 分组查询,例:
select sex, group_concat(username) from user_user group by sex;
返回结果:

- 分组连接字段可配置,例:
select sex, group_concat(username eparator "|") from user_user group by sex;
返回结果:

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