我有一份技能等级列表
john - 6.2
lucy - 4.3
nikki - 5.7
selena - 7.1
我只想排除lucy,因为她的评分最低,并按降序排序其余的顺序,我不知道列表中的总人数,所以限制功能不起作用。 任何帮助, noob alert
答案 0 :(得分:2)
比接受的答案更常见的答案是使用LIMIT
和OFFSET
删除任意数量的最高或最低排名行。然后使用另一个子查询来强加我们想要的任何顺序。像这样:
SELECT *
FROM
(
SELECT *
FROM yourTable
ORDER BY rating
LIMIT 1000000000 OFFSET 1 --skips the lowest rating, but
) t -- we could skip any number of ratings
ORDER BY rating DESC;
答案 1 :(得分:1)
您可以使用子查询
首先使用内部查询找出最低评级,然后排除评级
SELECT *
FROM table
WHERE rating NOT IN (SELECT MIN(rating)
FROM table)
ORDER BY rating DESC