MySQL 可以使用 LIMIT 返回 n 行,然后还返回值与第 n 行匹配的任何其他行吗?

标签 mysql limit

我试图将返回的行数限制在排序后的前 5 行,但我还需要返回与第 5 个最高值共享相同值的所有其他行。

Number of Traffic Tickets
         8                   
         7
         7 
         6
         4
         4
         4
         3
         2

应该返回 8, 7, 7, 6, 4, 4, 4 因为 4 是第 5 个值,而其他 4 是“并列”。

是否可以在 MySQL 中限制这样的行?

SELECT NumTickets FROM drivers ORDER BY NumTickets DESC LIMIT 5 ???;

在 MySQL 中是否可以在问号中加上一些东西来实现类似的功能?

最佳答案

使用子查询有几种方法可以做到这一点。这使用 IN:

Select NumTickets
From drivers
Where NumTickets In (
    Select NumTickets 
    From drivers
    Order By NumTickets Desc
    Limit 5)

您还可以使用JOIN:

Select d.NumTickets
From drivers d 
   join (
    Select NumTickets 
    From drivers
    Order By NumTickets Desc
    Limit 5) d2 on d.numTickets = d2.NumTickets

关于MySQL 可以使用 LIMIT 返回 n 行,然后还返回值与第 n 行匹配的任何其他行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26266998/

相关文章:

mysql,查找表中的频率

java - 如何确定最大堆栈大小限制?

如果 id 不重复,则 MySql 触发器将记录插入另一个表中

PHP 和 mysql : how can i make selected option stay selected in s Combo after submit

php - 如何在自定义 View 中从数据库获取图像?

iOS 20mb 构建限制

java - 在 Java 中处理超过 20 亿个元素的大数组

mysql - 从两个表中选择,受第一个表限制

php - while 和 between 之间有什么区别,在我的情况下什么是更好的选择?

php - 如何摆脱 json_encode() : Invalid UTF-8 sequence in php?