table {
id: long
name: string
}
1235 Fred
1902 Trever
5123 George
6467 Derek
7868 Joe
8972 Bob
9272 Alf
9842 Hank
我希望以升序顺序返回Joes之前的2条记录。
即正确的值应为:
5123 George
6467 Derek
有什么想法?供参考:
返回不正确的行:
从id为< 7868的表中选择*,按id asc limit 2
返回错误的排序顺序:
从id为< 7868的表格中选择*来自id desc limit 2
答案 0 :(得分:4)
SELECT * FROM
(select * from table where id<7868 order by id desc limit 2) AS foo
ORDER BY ID ASC
答案 1 :(得分:1)
尝试:
Select * from (
select * from table with id<7868
order by id desc limit 2
) as t order by id asc
执行子查询可以让您首先获得正确的行,然后您可以在之后重新排序
答案 2 :(得分:0)
在PostgreSQL中:
从“table”中选择*,其中id&lt; 7868按id列出asc limit 2 offset 2
同样在MySQL(我相信)“限制2,2”
“LIMIT 2 OFFSET 2”也适用于SQLite,至少我试过的版本(3.6.13)