訂購后是否可以僅獲得 1 行?我不想加載資料庫這么多,所以我只想得到 1 行(它可能來自中間),這里是示例:
| ID | 用戶 | 積分 |
|---|---|---|
| 1 | 用戶1 | 10 |
| 2 | 用戶2 | 60 |
| 3 | 用戶3 | 45 |
我想拿到fe。之后的第二個用戶ORDER BY `points` DESC,所以表格看起來像
| ID | 用戶 | 積分 |
|---|---|---|
| 2 | 用戶2 | 60 |
| 3 | 用戶3 | 45 |
| 1 | 用戶1 | 10 |
第二個用戶是user3,我只想回傳那一行。有可能的?還是我需要得到所有和只是LIMIT它?
uj5u.com熱心網友回復:
如果你想嚴格地只得到一行,對應于第二高點,那么我的猜測是你想要最低的 id。在這種情況下,您可以LIMIT相應地使用該功能。
SELECT *
FROM tab
ORDER BY points DESC,
ID
LIMIT 1,1
如此撰寫的LIMIT子句將允許您從第二行開始限制,然后獲取可用的第一行(即第二行)。
在此處查看演示。
uj5u.com熱心網友回復:
如果您使用的是 MySql 8 ,則可以使用rank,例如:
with r as (
select * , Rank() over(order by points desc) rnk
from t
)
select id, user, points
from r
where rnk = 2;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/486184.html
