2014-10-08 14 views
1

我想限制返回到前5行的訂單後行數,但我還需要返回與第5個最大值共享相同值的所有其他行。MySQL可以使用LIMIT返回n行,但是隨後還會返回其值與第n行相匹配的其他行嗎?

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

應返回圖8,7,7,6,4,4,4,因爲4是第五值,而另一個是4次的被 '捆綁'。

是否可以在MySQL中限制這樣的行?

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

有什麼事情可以放在問號在MySQL中實現這樣的事情?

回答

2

有幾種方法可以使用子查詢來做到這一點。它使用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 
+0

將返回超過5個? – 2014-10-08 21:50:58