我想为特定的学生得到最近的10分。例如,John的分数是73,那么我必须找到10个分数大于73的学生,按升序排列,离John最近。我的表结构是(id,name,mark)。
发布于 2010-04-23 03:32:42
试试这个:
SELECT id, name, marks
FROM table1
WHERE marks > (SELECT marks FROM table1 WHERE name = 'John')
ORDER BY marks
LIMIT 10发布于 2010-04-23 03:33:16
Select s.id, s.name, s.marks
From students sj
Join students s On ( s.marks > sj.marks )
Where sj.name = 'John'
Order By s.marks
Limit 10sj将是学生John (假设您只有一个John),并且s包含所有分数大于John的记录。
Limit将输出限制为10行。
https://stackoverflow.com/questions/2693840
复制相似问题