如何使用“分组依据”在单个列中显示10列记录

时间:2014-08-06 17:46:26

标签: sql

如何使用" Group By"?

将多个列记录显示为单个列

所以,如果我有这张桌子:

A 1
A 2
A 3

我想要一个这样的结果:

A 1,2,3

1 个答案:

答案 0 :(得分:1)

我不明白为什么这个问题被低估了,我认为很清楚会有什么问题。

它取决于您的DBMS,但在MySQL和SQL Server中,您可以使用GROUP_CONCAT()来实现此目的。

示例:

SELECT col1, GROUP_CONCAT(col2) FROM table1
GROUP BY col1;

在Oracle中,我们有LISTAGG():

SELECT 
    col1,
    LISTAGG(col2, ', ') WITHIN GROUP (ORDER BY col2)
FROM table1
GROUP BY col1