主頁(yè) > 知識(shí)庫(kù) > Sql Server:多行合并成一行,并做分組統(tǒng)計(jì)的兩個(gè)方法

Sql Server:多行合并成一行,并做分組統(tǒng)計(jì)的兩個(gè)方法

熱門(mén)標(biāo)簽:電銷外呼系統(tǒng)軟件功能 浙江穩(wěn)定外呼系統(tǒng)供應(yīng)商 北京400電話辦理多少錢 承德地圖標(biāo)注公司名需要花錢嗎 慶陽(yáng)地圖標(biāo)注 怎么給高德做地圖標(biāo)注 咸陽(yáng)電腦外呼系統(tǒng)運(yùn)營(yíng)商 美團(tuán)地圖標(biāo)注商戶認(rèn)證注冊(cè) 榕城市地圖標(biāo)注
復(fù)制代碼 代碼如下:

--創(chuàng)建 test 表 ,插入數(shù)據(jù)

CREATE TABLE test(code varchar(50), [values] varchar(10),[count] int)
INSERT test SELECT '001', 'aa',1
UNION ALL SELECT '001', 'bb',2
UNION ALL SELECT '002', 'aaa',4
UNION ALL SELECT '002', 'bbb',5
UNION ALL SELECT '002', 'ccc',3;

 

--方法一
--將多行合并成一行,并做分組統(tǒng)計(jì)
SELECT code,
       [values] =
       stuff(b.[values].value('/R[1]', 'nvarchar(max)'),
,
,
             ''),[count]
  FROM (SELECT  code,sum([count]) as [count]
          FROM test
         GROUP BY code) a
 CROSS apply (
        SELECT [values] =(
            SELECT N',' + [values] FROM test
              WHERE code = a.code
                         FOR XML PATH(''), ROOT('R'), TYPE
        )
) b;

 

--方法二

---SQL2005中的新解法   使用XML

SELECT code, data=STUFF((SELECT ','+[values] FROM test t WHERE code=t1.code FOR XML PATH('')), 1, 1, ''),sum([count]) as [count]
FROM test t1
GROUP BY code

 

--查詢結(jié)果

--001    aa,bb    3
--002    aaa,bbb,ccc    12

 

drop table test
您可能感興趣的文章:
  • sql分組后二次匯總(處理表重復(fù)記錄查詢和刪除)的實(shí)現(xiàn)方法
  • SQL SERVER 分組求和sql語(yǔ)句
  • 顯示同一分組中的其他元素的sql語(yǔ)句
  • sql獲取分組排序后數(shù)據(jù)的腳本
  • SQL進(jìn)行排序、分組、統(tǒng)計(jì)的10個(gè)新技巧分享
  • SQL分組排序去重復(fù)的小實(shí)例
  • 以數(shù)據(jù)庫(kù)字段分組顯示數(shù)據(jù)的sql語(yǔ)句(詳細(xì)介紹)
  • SQL中Group分組獲取Top N方法實(shí)現(xiàn)可首選row_number
  • Sql Server 分組統(tǒng)計(jì)并合計(jì)總數(shù)及WITH ROLLUP應(yīng)用
  • SQL語(yǔ)句分組獲取記錄的第一條數(shù)據(jù)的方法
  • sqlserver巧用row_number和partition by分組取top數(shù)據(jù)
  • 一句Sql把縱向表轉(zhuǎn)為橫向表,并分別分組求平均和總平均值
  • sql 分組查詢問(wèn)題
  • SQLserver 實(shí)現(xiàn)分組統(tǒng)計(jì)查詢(按月、小時(shí)分組)
  • 分組后分組合計(jì)以及總計(jì)SQL語(yǔ)句(稍微整理了一下)

標(biāo)簽:上海 重慶 呼和浩特 新鄉(xiāng) 江蘇 拉薩 昭通 貴州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Sql Server:多行合并成一行,并做分組統(tǒng)計(jì)的兩個(gè)方法》,本文關(guān)鍵詞  Sql,Server,多行,合并,成,一行,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Sql Server:多行合并成一行,并做分組統(tǒng)計(jì)的兩個(gè)方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Sql Server:多行合并成一行,并做分組統(tǒng)計(jì)的兩個(gè)方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章