我遇到了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排序的)
我有一种感觉,解决方案可能很简单,但我无法将其分解。
我会对任何建议感到高兴。
谢谢!
答案 0 :(得分:3)
试试这个:
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)