我被 MySQL 查询困住了。起初,我以为这会是一项轻松的工作,但它变成了我无法克服的事情。
我有一个表,例如:
ID_USER ID_LESSON TITLE
1 1 Maths
1 2 Geography
1 3 History
2 4 Spanish
2 5 Maths
2 6 English
我需要得到如下结果:
ID_USER ID_LESSON TITLE
1 2 Geography
2 6 English
基本上,我需要为每个用户获取一行,其中主题标题按升序排列。
我尝试了类似的查询
SELECT id_user, id_lesson, title FOM table
GROUP BY id_user ORDER BY title ASC
但问题是,即使我为每个用户只得到一行,结果中的标题也不正确(因为当我使用 GROUP BY 命令时,结果是按 id_lesson 排序的)
我有一种感觉,解决方案可能很简单,但我无法分解它。
如果有任何建议,我会很高兴。
谢谢!
最佳答案
试试这个:
SELECT t1.* FROM your_table t1
WHERE t1.title =
(SELECT title FROM your_table
WHERE id_user = t1.id_user
ORDER BY title
LIMIT 1)
关于mysql - 按特定顺序对结果进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8023416/