第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

SQLSERVER中的ListAGG

SQLSERVER中的ListAGG

撒科打諢 2019-06-15 18:08:54
SQLSERVER中的ListAGG我試圖在SQLSERVER中聚合一個(gè)“String”字段。我想找到與Oracle相同的LISTAGG函數(shù)。您知道如何執(zhí)行相同的功能或其他方法嗎?例如,Field A | Field B1       |  A1       |  B2       |  A我希望這個(gè)查詢的結(jié)果是1 | AB2 | A
查看完整描述

3 回答

?
慕哥9229398

TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超6個(gè)贊

在SQLServer中,可以使用FOR XML PATH為了得到結(jié)果:

select distinct t1.FieldA,
  STUFF((SELECT distinct '' + t2.FieldB         from yourtable t2         where t1.FieldA = t2.FieldA           
   FOR XML PATH(''), TYPE            ).value('.', 'NVARCHAR(MAX)') 
        ,1,0,'') datafrom yourtable t1;

看見SQLFiddle與Demo


查看完整回答
反對(duì) 回復(fù) 2019-06-15
?
躍然一笑

TA貢獻(xiàn)1826條經(jīng)驗(yàn) 獲得超6個(gè)贊

MySQL

SELECT FieldA     , GROUP_CONCAT(FieldB ORDER BY FieldB SEPARATOR ',') AS FieldBs  FROM TableName GROUP BY FieldA ORDER BY FieldA;

Oracle&DB2

SELECT FieldA     , LISTAGG(FieldB, ',') WITHIN GROUP (ORDER BY FieldB) AS FieldBs  FROM TableName GROUP BY FieldA ORDER BY FieldA;

PostgreSQL

SELECT FieldA     , STRING_AGG(FieldB, ',' ORDER BY FieldB) AS FieldBs  FROM TableName GROUP BY FieldA ORDER BY FieldA;

SQLServer

SQLServer≥2017&Azure SQL

SELECT FieldA     , STRING_AGG(FieldB, ',') WITHIN GROUP (ORDER BY FieldB) AS FieldBs  FROM TableName GROUP BY FieldA ORDER BY FieldA;

SQLServer≤2016(包括cte以鼓勵(lì)干原理)

  WITH CTE_TableName AS (
       SELECT FieldA, FieldB         FROM TableName)SELECT t0.FieldA     , STUFF((
       
       SELECT ',' + t1.FieldB         FROM CTE_TableName t1        WHERE t1.FieldA = t0.FieldA    
           ORDER BY t1.FieldB          FOR XML PATH('')), 1, LEN(','), '') 
           AS FieldBs  FROM CTE_TableName t0 GROUP BY t0.FieldA ORDER BY FieldA;

SQLite

排序需要CTE或子查詢

  WITH CTE_TableName AS (
       SELECT FieldA, FieldB         FROM TableName        ORDER BY FieldA, FieldB)SELECT FieldA    
        , GROUP_CONCAT(FieldB, ',') AS FieldBs  FROM CTE_TableName GROUP BY FieldA ORDER BY FieldA;

不訂貨

SELECT FieldA     , GROUP_CONCAT(FieldB, ',') AS FieldBs  FROM TableName GROUP BY FieldA ORDER BY FieldA;


查看完整回答
反對(duì) 回復(fù) 2019-06-15
  • 3 回答
  • 0 關(guān)注
  • 4082 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)