in Mysql, I am trying to get the oldest record of the last 10 records.
To get the last 10 I would simply do SELECT * FROM table ORDER BY id DESC LIMIT 10;
to get the oldest I simply use the ASC order.
I need to first order in DESC order to get the last 10 and then order by ASC to get the first record of that array. which query would I use to get row number 10 in DESC order, namely, the oldest of the 10 newest?
Use [LIMIT {[offset,] row_count]
concept:
SELECT * FROM table
ORDER BY id
DESC LIMIT 9, 1
Here, OFFSET is 9 --> that means 10th row (which will be first row in the last 10 rows when ordered back in Ascending order).
使用子查询仅选择 1
SELECT * FROM ( SELECT * FROM ORDER BY id DESC LIMIT 10 ) order by id ASC LIMIT 1 ;
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.