构建分组值列表

Build a list of grouped values

我是这个页面的新手,这是我第一次 post 提问。对不起,任何错误。这个问题可能很老,但我找不到 SQL AnyWhere.
的任何答案 我有一个 table 喜欢

Order |  Mark  
======|========   
1     | AA  
2     | BB  
1     | CC  
2     | DD  
1     | EE  

我想要的结果如下

Order | Mark  
1     | AA,CC,EE  
2     | BB,DD  

我现在的 SQL 是

Select Order, Cast(Mark as NVARCHAR(20))  
From #Order  
Group by Order  

它给我的结果与原来的完全一样table。

有什么想法吗?

您可以使用 ASA LIST() 聚合函数(未经测试,您可能需要将 order 列名称括在引号中,因为它也是保留名称):

SELECT Order, LIST( Mark )
FROM #Order
GROUP BY Order;

您可以根据需要自定义分隔符和顺序。

注意:

不是一个好主意
  • 使用类似常规 SQL 子句 (Order by)
  • 命名您的 table 和列名
  • 对列使用相同的名称 table (Order)