我需要在 ORDER BY
之后执行 GROUP BY
。我不明白为什么 MySQL 不支持它。
这是我的代码:
SELECT
`pages`.`id`,
`contents`.`id_language`,
[...]
[...]
ORDER BY
FIND_IN_SET(`languages`.`id`, '3') DESC
[the GROUP BY]
结果会是这样的:
id | id_language | ...
1 3
1 1
2 3
2 5
2 1
我需要按 ID 分组,我只需要第一个结果,我需要保存在 View 中。因此我不能使用 SUBQUERY。
结果需要是:
id | id_language | ...
1 3
2 3
注意:不要被 id_language = 3
搞糊涂了,因为它不是规则。
最佳答案
SELECT id, idl
FROM (SELECT
`pages`.`id` as id,
`contents`.`id_language` as idl,
[...]
[...]
ORDER BY
FIND_IN_SET(`languages`.`id`, '3') DESC
) d
GROUP BY d.id
关于mysql - 在 ORDER BY 之后分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7310653/