【问题标题】:How to use GROUP_CONCAT function on MSSQL如何在 MSSQL 上使用 GROUP_CONCAT 函数
【发布时间】:2021-07-27 17:52:40
【问题描述】:

如何在 MySQL 运行时在 MSSQL 上使用 GROUP_CONCAT 函数?

当前表; QUESTION_ID ANSWER_ID 用户 1. 1 1 安 2. 1 1 乙 3. 1 2 C 我需要; QUESTION_ID ANSWER_ID 用户 1. 1 1 A, B 2. 1 2℃

提前谢谢..

【问题讨论】:

标签: sql-server


【解决方案1】:

对于 SQL Server 2017 及更高版本,等效函数可能是 STRING_AGG。 请注意,此函数不支持 DISTINCT 过滤。

select QUESTION_ID, ANSWER_ID, STRING_AGG(USER, ', ') as USER
from t1
group by QUESTION_ID, ANSWER_ID

https://docs.microsoft.com/en-gb/sql/t-sql/functions/string-agg-transact-sql?view=sql-server-2017

【讨论】:

    【解决方案2】:

    试试:

    select distinct t1.QUESTION_ID, t1.ANSWER_ID
      STUFF((SELECT distinct '' + t2.USER
             from yourtable t2
             where t1.ANSWER_ID= t2.ANSWER_ID
                FOR XML PATH(''), TYPE
                ).value('.', 'NVARCHAR(MAX)') 
            ,1,0,'') data
    from yourtable t1;
    

    【讨论】:

      猜你喜欢
      • 2018-09-21
      • 1970-01-01
      • 2020-11-14
      • 1970-01-01
      • 2019-06-16
      • 1970-01-01
      • 2015-03-24
      • 2011-01-14
      相关资源
      最近更新 更多