我有一个查询,下面是我的通用版本: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/