SQL Query 以逗号分隔符以及 SQL Server 中的按列分组获取聚合结果

本教程将介绍SQL Query 以逗号分隔符以及 SQL Server 中的按列分组获取聚合结果的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。

SQL Query 以逗号分隔符以及 SQL Server 中的按列分组获取聚合结果 教程 第1张

问题描述

我需要在表上编写一个 sql 查询,以便结果将按列分组以及带有逗号分隔符的聚合列.

我的表格将采用以下格式

|`````````|````````|
| ID|  Value |
|_________|________|
| 1 |a |
|_________|________|
| 1 |b |
|_________|________|
| 2 |c |
|_________|________|

预期结果应为以下格式

|`````````|````````|
| ID|  Value |
|_________|________|
| 1 |  a,b|
|_________|________|
| 2 |c |
|_________|________|

推荐答案

你想使用 FOR XML PATH 构造:

select 
 ID, 
 stuff((select ', ' + Value 
  from YourTable t2 where t1.ID = t2.ID 
  for xml path('')),
 1,2,'') [Values]
from YourTable t1
group by ID

STUFF功能是去掉前面的', '.

您还可以在此处查看其他示例:

SQL 两个之间的相同单元表格需要 1 个单元格中的订单号

SQL 和 Coldfusion 左连接表在一列中以列表形式获得重复结果

好了关于SQL Query 以逗号分隔符以及 SQL Server 中的按列分组获取聚合结果的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。