[英]MySQL select last 'n' records by date, but sorted oldest to newest
我有一個表,其中包含帶有datetime列的事務。 我正在嘗試選擇最后一個'n'記錄(即20行),但是將其從最舊到最新進行了排序。
SELECT *
FROM table
WHERE 1=1
ORDER BY table.datefield DESC
LIMIT 20;
給我最近的20個,但順序相反。
是否可以在一個查詢中這樣做,還是我必須做一個查詢以獲取總行數,然后根據此值調整限制,所以我可以執行table.datefiled ASC,然后限制(總行數-n),n
圍繞原始SELECT構建SELECT並將其轉換為派生表應該可以做到這一點
SELECT t.*
FROM (
SELECT *
FROM table
WHERE 1=1
ORDER BY table.datefield DESC
LIMIT 20
) t
ORDER BY t.datefield
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.