用于获取具有接近值的10行的SQL查询

时间:2010-03-24 15:42:26

标签: sql mysql

请帮我写一个SQL查询 - 我有一个包含idnamemarks列的表格。

如果我按照标记的升序排列表格,我如何获取其标记接近特定名称的5个名称。

3 个答案:

答案 0 :(得分:2)

这样的事情应该这样做:

select id, name, marks
from Marks
where name <> 'User1'
order by abs(marks - (select marks from Marks where name = 'User1')) 
limit 5

答案 1 :(得分:0)

Microsoft SQL Server

SELECT TOP 10 column FROM table

PostgreSQL和MySQL

SELECT column FROM table 
LIMIT 10

<强>的Oracle

SELECT column FROM table
WHERE ROWNUM >= 3 AND ROWNUM < 10

<强> DB2

SELECT column FROM table
FETCH FIRST 10 ROWS

答案 2 :(得分:0)

这样的事情:

select * 
from marks m 
order by abs(m.mark - (select m2.mark from marks m2 where m2.name = "John Doe"))
limit 5;