简体   繁体   中英

MySQL Get the first record in the last 10 records

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM