如何仅显示非最小查询并排除最小查询

时间:2017-10-14 06:48:21

标签: mysql

我有一份技能等级列表

john - 6.2
lucy - 4.3
nikki - 5.7
selena - 7.1

我只想排除lucy,因为她的评分最低,并按降序排序其余的顺序,我不知道列表中的总人数,所以限制功能不起作用。 任何帮助, noob alert

2 个答案:

答案 0 :(得分:2)

比接受的答案更常见的答案是使用LIMITOFFSET删除任意数量的最高或最低排名行。然后使用另一个子查询来强加我们想要的任何顺序。像这样:

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;

Demo

答案 1 :(得分:1)

您可以使用子查询

首先使用内部查询找出最低评级,然后排除评级

SELECT * 
FROM table 
WHERE rating NOT IN (SELECT MIN(rating) 
                     FROM table)
ORDER BY rating DESC