构建分组值列表
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
)
我是这个页面的新手,这是我第一次 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
)