是否可以强制按结果集的顺序分组?我有一个包含多种语言的表,我正在做一个GROUP_CONCAT,以便在每种语言中为每种product_id获得一个以逗号分隔的产品名称列表。然而,似乎不可能让MySQL以language _ id的任何特定顺序返回连接的字符串,我想要的是能够按语言id对分组进行排序,以便它们总是以预先确定的顺序出现。
这个是可能的吗?如果是这样的话,是怎么做的?如果在SELECT语句中不可能,是否可以对表进行修改以调整组BY将如何排序结果?
发布于 2013-08-16 22:24:22
您可以在ORDER BY函数中使用GROUP_CONCAT()。如果不想使用逗号,也可以更改分隔符。MySQL文档中的详细信息:GROUP_CONCAT()
示例:
SELECT
product_id,
GROUP_CONCAT(name
ORDER BY language_id
SEPARATOR ','
) AS product_names
FROM
products_languages
GROUP BY
product_id ;https://dba.stackexchange.com/questions/48267
复制相似问题