我有一个查询,下面是我的通用版本:

SELECT TT.columnFROM Table1 TTJOIN 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时。

有什么想法吗?

最佳答案

试试这个查询

SELECT
T.column2,
GROUP_CONCAT(
 DISTINCT TT.column
) AS concat_output
FROM Table1 TT
JOIN Table2 T USING (PRIMARYKEY)
GROUP BY T.Date


更多细节请参考此链接

http://www.mysqltutorial.org/mysql-group_concat/

关于mysql - 派生表的组串联结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31189339/

10-10 07:43