2
代碼:T-SQL的串聯變量#
DECLARE @GroupByCnt INT = 3;
CREATE TABLE #Temp (ID VARCHAR(15))
INSERT INTO #Temp
SELECT '123'
UNION ALL SELECT '123'
UNION ALL SELECT '234'
UNION ALL SELECT '345'
UNION ALL SELECT '456'
UNION ALL SELECT '456'
UNION ALL SELECT '456'
UNION ALL SELECT '567'
UNION ALL SELECT '678'
UNION ALL SELECT '789'
UNION ALL SELECT '890'
UNION ALL SELECT '901'
UNION ALL SELECT '901'
SELECT DISTINCT STUFF((
SELECT ',' + ID
FROM #Temp T1
WHERE T1.ID = T2.ID
FOR XML PATH('')
), 1, 1, '') ID
FROM #Temp T2
DROP TABLE #Temp
電流輸出:
ID
123,123
234
345
456,456,456
567
678
789
890
901,901
所需的輸出:
ID
123,234,345
456,567,678
789,890,901
目標:
我想連接一組唯一記錄(逗號分隔)。
所以在上面的例子中,我想連接3個獨特的記錄在一次(而不是完全)。有9個獨特的記錄;因爲我希望他們按3分組,所以我最終會在這些輸出記錄的每個輸出記錄(按ID排序)中最終記錄3條記錄,其中有3條記錄。
「你可以使用DENSE_RANK()和整數分工創建組:「偉大的技巧!這按預期工作。謝謝。 – 007