SQL 分組和逗號分隔符號連接
本指南示範如何編寫 SQL 查詢來對資料進行分組並使用逗號分隔符號連接聚合值。 想像一下這樣的桌子:
<code>| ID | Value | |-----|-------| | 1 | a | | 1 | b | | 2 | c |</code>
目標是產生一個結果集,其中相同 ID 的值組合成單一逗號分隔的字串:
<code>| ID | Value | |-----|-------| | 1 | a,b | | 2 | c |</code>
使用 FOR XML PATH 的解法:
FOR XML PATH
構造提供了一個有效的方法來實現此目的:
<code class="language-sql">SELECT ID, STUFF((SELECT ', ' + Value FROM YourTable t2 WHERE t1.ID = t2.ID FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 2, '') AS Values FROM YourTable t1 GROUP BY ID;</code>
STUFF
函數刪除 SELECT
語句新增的前導逗號和空格。 這種方法因其性能和可讀性而通常受到青睞。
進一步閱讀:
有關更進階的場景和替代技術,請探索以下資源:
FOR XML PATH
及相關函數的詳細信息,請參閱 Microsoft 官方文件。 修訂後的回應提高了清晰度,提供了更簡潔的解釋,並為進一步學習提供了有用的連結。 影像保持在原來的位置。
以上是如何在 SQL 中對資料進行分組並使用逗號分隔符號連接值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!