當前位置:首頁 » 編程語言 » 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 產品;

熱點內容
格物致知編程 發布:2025-07-16 18:07:54 瀏覽:947
戴爾伺服器系統設置如何設置 發布:2025-07-16 18:02:09 瀏覽:958
為什麼換安卓這么難 發布:2025-07-16 17:14:44 瀏覽:421
轉動密碼鎖怎麼開 發布:2025-07-16 17:14:37 瀏覽:611
伺服器和網關ip 發布:2025-07-16 17:09:35 瀏覽:930
如何用net映射伺服器盤符 發布:2025-07-16 17:08:50 瀏覽:13
小飛機android 發布:2025-07-16 16:51:00 瀏覽:236
python獲取api 發布:2025-07-16 16:35:28 瀏覽:740
安卓應用耗電優化是什麼 發布:2025-07-16 16:29:39 瀏覽:502
惠普電腦都有什麼配置的 發布:2025-07-16 15:51:49 瀏覽:520