我有一个查询,我在下面转载的广义版本:
SELECT TT.column
FROM Table1 TT
JOIN Table2 T USING (PRIMARYKEY)
GROUP BY T.Date
我想获取此查询的输出 - 单个列输出,其中多个行按日期排序 - 并且组将其作为派生表在另一个查询中连接:
SELECT
T.column2,
GROUP_CONCAT(
SELECT TT.column
FROM Table1 TT
JOIN Table2 T USING (PRIMARYKEY)
GROUP BY T.Date) AS concat_output
FROM Table1 TT
JOIN Table2 T USING (PRIMARYKEY)
GROUP BY T.Date
但是,这会在GROUP_CONCAT
命令的行处返回错误。
关于如何使这项工作的想法?
编辑:详细说明我希望派生表工作的原因:
目前,在不使用GROUP_CONCAT
的情况下,我获得了多行,看起来像
a
a
b
b
a
a
c
c
d
a
如果按照Mukesh的回答尝试GROUP_CONCAT
,请使用DISTINCT
我会得到以下内容,例如:a, b, c, d
当我真正想要的时候a,b,a,c,d,a
。
思想?
答案 0 :(得分:2)
尝试此查询
SELECT
T.column2,
GROUP_CONCAT(
DISTINCT TT.column
) AS concat_output
FROM Table1 TT
JOIN Table2 T USING (PRIMARYKEY)
GROUP BY T.Date
更多详细信息,请参阅此链接