小编典典

如何在不选择ORDER BY字段的情况下选择DISTINCT行

sql

因此,我有两个表格学生(PK sID)和导师(PK pID)。这个查询

SELECT s.pID
FROM students s JOIN mentors m ON s.pID = m.pID
WHERE m.tags LIKE '%a%'
ORDER BY s.sID DESC;

提供这个结果

pID
-------------
9
9
3
9
3
9
9
9
10
9
3
10  etc...

我正在尝试以此顺序获取不同的导师ID的列表,因此我正在寻找要生成的SQL

pID
-------------
9
3
10

如果仅在SELECT子句中插入DISTINCT,我将得到意外的结果10、9、3(错误的顺序)。任何帮助,不胜感激。


阅读 159

收藏
2021-03-23

共1个答案

小编典典

SELECT s.pID
FROM students s JOIN mentors m ON s.pID = m.pID   
WHERE m.tags LIKE '%a%'
GROUP BY s.pID
ORDER BY MAX(s.sID) DESC
2021-03-23