【发布时间】:2010-12-07 08:44:54
【问题描述】:
我想在 GROUP_CONCAT 函数中排序结果。问题是,GROUP_CONCAT 函数中的选择是另一个函数,像这样(幻想选择):
SELECT a.name,
GROUP_CONCAT(DISTINCT CONCAT_WS(':', b.id, c.name) ORDER BY b.id ASC) AS course
FROM people a, stuff b, courses c
GROUP BY a.id
我想得到类似(按 b.id 排序)的结果:
michael 1:science,2:maths,3:physics
但我明白了:
michael 2:maths,1:science,3:physics
有谁知道我如何在 group_concat 中按 b.id 订购?
【问题讨论】:
-
GROUP_CONCAT 支持它自己的
ORDER BY子句...不知道用户定义的函数是什么或做什么,将无法帮助我们帮助您。 -
就像我写的:函数“group_concat”中的函数“concat_ws”。我从未说过这是用户定义的函数。
-
不清楚如何编写有效的解决方案,因为表结构、内容和表之间的关系未指定(即没有连接规范)。
-
因为这个问题没必要回答。
-
@acme 如果我的答案是正确答案,可以将其标记为正确答案吗?似乎对其他人很有帮助。
标签: sql mysql sql-order-by group-concat