我试图将排序后返回的行数限制在前5行,但我还需要返回与第5个顶部值共享相同值的所有其他行。
即
Number of Traffic Tickets
8
7
7
6
4
4
4
3
2
应返回8、7、7、6、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