SQL Server Sql聚合函数获取列表

dwbf0jvd  于 2022-11-21  发布在  其他
关注(0)|答案(4)|浏览(144)

嘿!
如何创建聚合函数以获取聚合值列表。
给定:

key     value
Andrei  1
Andrei  2
Andrei  3
Mihai   4
Mihai   5
Mihai   6

我想要

key list
Andrei 1,2,3
Mihai 4,5,6
gcmastyq

gcmastyq1#

MS SQL解决方案:[注意:此解决方案仅适用于SQL 2005及更高版本。原始问题未指定使用的版本。]

SELECT 
key
, STUFF((SELECT ',' + CAST([value] AS nvarchar(max)) FROM <#Table#> WHERE (key = Results.key) FOR XML PATH ('')),1,2,'') AS NameValues
FROM <#Table#> Results
GROUP BY key
ymzxtsji

ymzxtsji3#

您需要模拟MySQL的group_concat函数。
有关详细信息,请查看this article

kognpnkq

kognpnkq4#

对于那些希望在2022年做到这一点的人:

我这样做

select [Key], STRING_AGG([Value], ',') as [List]
from TableX
group by [Key]

在我的例子中,[Value]是一个字符串,但如果它是一个整型,你可以先将它转换为字符串。','是指示我选择的分隔符。适用于Azure SQL Server。

相关问题