當前位置:首頁 » 編程語言 » sql多行合並

sql多行合並

發布時間: 2023-01-17 08:54:22

『壹』 sql中按條件多行值合並成一列

修改前:1列多行數據

示例語句


select類別,名稱=(stuff((select','+名稱fromTable_Awhere類別=A.類別forxmlpath('')),1,1,''))fromTable_AasAgroupby類別

『貳』 SQL多行合並為一行,SQL語句如何寫

最簡捷直觀的方法就是利用分組

selectID,
Sum(語文)語文,
Sum(數學)數學,
Sum(英語)英語
fromscores
groupbyID

你可以直接用下面的語句在SQL Server中測試結果:

DECLARE@ScoresVartable(
IDintNOTNULL,
Chineseint,
Mathint,
Englishint);

Insertinto@ScoresVar
values(1,70,null,null)
Insertinto@ScoresVar
values(1,null,80,null)
Insertinto@ScoresVar
values(1,null,null,90)
Insertinto@ScoresVar
values(2,75,null,null)
Insertinto@ScoresVar
values(2,null,85,null)
Insertinto@ScoresVar
values(2,null,null,95)


selectID,
SUM(Chinese)Chinese,
Sum(Math)Math,
Sum(English)English
from@ScoresVar
groupbyID

還有一種方法,可能更通用一點,利用 FOR XML PATH 和STUFF函數來做,雖然復雜,但是對表的數據類型無限制。

還是上面的測試數據,你可以通過下面的代碼來得到你想要的數據:

SELECTID,
STUFF((SELECT','+Cast(A.Chineseasvarchar)
[email protected]=B.IDFORXMLPATH('')),1,1,'')AsChinese,
STUFF((SELECT','+Cast(A.Mathasvarchar)
[email protected]=B.IDFORXMLPATH('')),1,1,'')AsMath,
STUFF((SELECT','+Cast(A.Englishasvarchar)
[email protected]=B.IDFORXMLPATH('')),1,1,'')AsEnglish
From@ScoresVarB
GroupByID
--輸出結果
IDChineseMathEnglish
1708090
2758595

『叄』 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多行多列合並成一行多列,

您好利用分析函數 sum max min 等均可實現此功能(oracle 中 空值不參與大小比較(11g是這樣的 其他版本需要你自己測試相愛))
如:
select 產品, max(標價),max(二標價),max(三標價) from table group by 產品;
或者
select 產品, sum(標價)),sum(二標價),sum(三標價) from table group by 產品;

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:585
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:881
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:574
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:761
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:677
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1005
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:250
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:108
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:799
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:705