给出以下样本表:
C1 C2 C3
=================
A 21 S
A 22 S
A 23 S
A 24 T
B 25 S
B 26 S
如何编写SQL查询以提供以下输出:
COL1 COL2 COL3
======================
A 21,22,23 S
A 24 T
B 25,26 S
对于输入表中C1和C3相同的所有行,我希望输出表中有一行连接所有C2值,逗号分隔。
我正在使用Oracle数据库。
答案 0 :(得分:0)
如果您使用的是oracle 11g
,请尝试此操作SELECT
C1,
LISTAGG(C2, ',') as C2,
C3
from
tbl
GROUP BY
C1,C1
答案 1 :(得分:0)
这将是一个特定于数据库的答案,所以请你正在使用什么数据库。 Mysql很受欢迎,所以这里是Mysql5的答案:
select col1, group_concat(col2 SEPARATOR ','), col3 from tbl group by col1,col3;
答案 2 :(得分:-1)
在MySQL中,您可以使用Group_Concat。例如:
SELECT GROUP_CONCAT(语言)作为语言来自CountryLanguage WHERE CountryCode =' THA';