我有一个名为posts
的表,该表包含3列,分别是id
,details
,date
,其中包含按升序排列的以下数据:
+----+----------+-------+
| id | details | date |
+----+----------+-------+
| 1 | details1 | date1 |
| 2 | details2 | date2 |
| 3 | details3 | date3 |
| 4 | details4 | date4 |
+----+----------+-------+
我想按降序选择数据,但我想保留第一行详细信息,就像我想保留第4行ID详细信息,details4,date4,但随后我想从ID 3到2中选择数据order by id desc limit 2
,但保留最后一行的第一行
答案 0 :(得分:2)
您可以将查询用于ORDER BY DESC LIMIT 1,n
那样, n 是您要获取的行数,并且您使用 LIMIT 1 跳过了结果的第一行。 >
答案 1 :(得分:0)
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