[英]How to show 5 maximum value after joining two tables?
我有2张桌子:
所以我想展示最高的5个标记持有人,他们的卷号和标记像 -
MCA-03/17 16
MCA-01/17 15
MCA-04/17 8
MCA-02/18 6
MCA-06/17 5
我努力了:
SELECT u.rollno, r.marks
FROM users u
JOIN results r ON r.uid = u.uid
ORDER BY marks DESC
LIMIT 5
但它没有显示前5名最高分。
您应该加入子查询最多5
select u.rollno, r.marks
FROM users u
INNER JOIN result r on r.uid = u.uid
INNER JOIN (
SELECT r.marks
ORDER BY marks DESC
LIMIT 5
) t on t.marks = r.marks
您需要从结果中获得前5个标记并加入用户:
SELECT u.rollno, r.marks
FROM users u INNER JOIN (
SELECT uid, marks
FROM results
ORDER BY marks DESC
LIMIT 5
) r ON r.uid = u.uid
ORDER BY marks DESC
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.