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

所以我有两个学生表(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(错误的顺序).任何帮助非常感谢.

解决方法:

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
上一篇:制作3D球体


下一篇:win10与linux以太坊客户端Geth私链搭建教程