SQL 多行多列数据清洗合并为一行

SQL 多行多列数据清洗合并为一行,第1张

SELECT  

            A,

            GROUP_CONCAT( B  SEPARATOR  ','  ),

            GROUP_CONCAT( C  SEPARATOR   ','  )

FROM

            table_name 

GROUP BY

            A

1.GROUP_CONCAT()中的值为你要合并的数据的字段名

2.SEPARATOR 函数是用来分隔这些要合并的数据的 ,' ' 中是你要用哪个符号来分隔,可以直接不填符号默认为空值;

2.必须要用GROUP BY 语句来进行分组管理,不然所有的数据都会被合并成一条记录

参考链接

https://www.cnblogs.com/shoshana-kong/p/11147690.html

不知道你为什么设计成这样的结构,假如你的长袖衬衣数和

短袖

衬衣数不能同时>0,你可以试试我下面的语句

ORACLE:

select

姓名,性别,部门,wmsys.wm_concat(领号),wmsys.wm_concat(sl)

from

(select

姓名,性别,部门,领号,sum(长袖衬衣数+短袖衬衣数)

as

sl

from

table

group

by

姓名,性别,部门,领号)

group

by

姓名,性别,部门

SQLSERVER

:

select

姓名,性别,部门,group_concat(领号),group_concat(sl)

from

(select

姓名,性别,部门,领号,sum(长袖衬衣数+短袖衬衣数)

as

sl

from

table

group

by

姓名,性别,部门,领号)

group

by

姓名,性别,部门


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6426197.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-22
下一篇 2023-03-22

发表评论

登录后才能评论

评论列表(0条)

保存