sql – 将多行组合成一个空格分隔的字符串

所以我有这样的5行
userid,col
--------------
1,a
1,b
2,c
2,d
3,e

我如何查询这样看起来像这样

userid,combined
1,a b
2,c d
3,e

解决方法

使用 GROUP_CONCAT aggregate function
SELECT yt.userid,GROUP_CONCAT(yt.col SEParaTOR ' ') AS combined
    FROM YOUR_TABLE yt
GROUP BY yt.userid

认分隔符是逗号(“,”),因此您需要指定单个空格的SEParaTOR以获取所需的输出.

如果要确保GROUP_CONCAT中的值的顺序,请使用:

SELECT yt.userid,GROUP_CONCAT(yt.col ORDER BY yt.col SEParaTOR ' ') AS combined
    FROM YOUR_TABLE yt
GROUP BY yt.userid

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...