sql分组查询,单个字段值合并逗号隔开

说明:mysql查询,按某个字段分组查询时,其他各个字段的值可能不一样,可以用逗号隔开展示

如:按性别查询学生信息,姓名、成绩等用逗号隔开

CREATE TABLE `student` (
  `id` bigint(22) NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `sex` int(2) DEFAULT NULL COMMENT '性别',
  `name` varchar(30) DEFAULT NULL COMMENT '姓名',
  `yuwen` int(4) DEFAULT NULL COMMENT '语文成绩',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='学生表';

最后效果:

性别姓名语文成绩语文总成绩
张三,李四,王五90,91,95 276
撒三,王四,哲五90,91,95 276

用 GROUP_CONCAT()方法;加上DISTINCT  是去重;SUM求和等

 SELECT
        sex as 性别,
        GROUP_CONCAT(DISTINCT name SEPARATOR ', ') AS 姓名,
        GROUP_CONCAT(yuwen SEPARATOR ', ') AS 语文成绩,
        SUM(yuwen) as 语文总成绩
        from student
        WHERE sex is not null
 GROUP BY sex

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值