sql把多行合并成一列
㈠ sql语句多行合并为一行
用多个字段分组就行,SQL如下
SELECTA,B,C,SUM(D)FROMTABLEGROUPBYC,A,B
㈡ SQL 多行合并一行,动态增加列
示例
修改前:1列多行数据
示例语句
select类别,名称=(stuff((select','+名称fromTable_Awhere类别=A.类别forxmlpath('')),1,1,''))fromTable_AasAgroupby类别
把得到的内容以XML的形式显示
for xml path('')
把拼接的内容的第一个“,”去掉
stuff((select ',' + ep_name from ep_detail where ep_classes = a.ep_classes for xml path('')), 1, 1, '')
㈢ SQL 多行多列数据清洗合并为一行
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
㈣ Sql语句按条件多行值合并成一列
修改前:1列多行数据
示例语句
select类别,名称=(stuff((select','+名称fromTable_Awhere类别=A.类别forxmlpath('')),1,1,''))fromTable_AasAgroupby类别
㈤ sql多行多列合并成一行多列,
您好利用分析函数 sum max min 等均可实现此功能(oracle 中 空值不参与大小比较(11g是这样的 其他版本需要你自己测试相爱))
如:
select 产品, max(标价),max(二标价),max(三标价) from table group by 产品;
或者
select 产品, sum(标价)),sum(二标价),sum(三标价) from table group by 产品;
㈥ Sql中按条件多行值合并成一列
修改前:1列多行数据
示例语句
select类别,名称=(stuff((select','+名称fromTable_Awhere类别=A.类别forxmlpath('')),1,1,''))fromTable_AasAgroupby类别