如何使用sql选择从最后第二行开始的最后4个数据

pw136qt2  于 2021-06-17  发布在  Mysql
关注(0)|答案(2)|浏览(309)

我有一张名为 posts 有3列 id , details , date 按升序包含以下数据:

+----+----------+-------+
| id | details  | date  |
+----+----------+-------+
|  1 | details1 | date1 |
|  2 | details2 | date2 |
|  3 | details3 | date3 |
|  4 | details4 | date4 |
+----+----------+-------+

我想按降序选择数据,但我想保留第一行的详细信息,就像我想保留第四行的id详细信息,details4,date4一样,但是我想在中选择从id 3到2的数据,比如 order by id desc limit 2 但是离开最后一排的第一排

wfveoks0

wfveoks01#

您可以使用order by desc limit为1的查询,n
这样,n是要获取的行数,并且使用limit 1跳过结果的第一行。

uurity8g

uurity8g2#

WITH a AS (
    SELECT 1 i
    UNION ALL
    SELECT 2 i
    UNION ALL 
    SELECT 3 i
    UNION ALL
    SELECT 4 i
)
, b as (
    SELECT TOP 1 i FROM a ORDER BY i DESC
)
SELECT * 
FROM A 
EXCEPT 
SELECT * FROM B
ORDER BY i DESC

相关问题