select *
from tour
where user_id start from 4;
一种选择是使用row_number()
来实现此目的。
select * from (select *,row_number() over (order by user_id) rn from tour) t1
where rn > 3
使用以下代码。
select *
from tour
where user_id not in (select top 3 user_id from tour order by user_id)
order by user_id
使用可以使用限制
SELECT * FROM tour where user_id >3 LIMIT 3 OFFSET 0;
请尝试此查询以解决您的问题,此查询将显示除前 3 条记录之外的所有记录。
SELECT *
FROM tour
WHERE user_id >= 4
ORDER BY user_id OFFSET 3 ROWS;
在标准 SQL 中,您将使用fetch first
但这只有在您还提供 ORDER BY 子句来定义行顺序时才有意义,例如:
select *
from tour
order by user_id
fetch first 3 rows only;
如果要从给定行开始(基于ORDER BY
定义的排序顺序(,可以添加offset
子句:
select *
from tour
order by user_id
offset 3
fetch next 5 rows only;
如果只想跳过第一行,可以省略fetch next
部分:
select *
from tour
order by user_id
offset 3;
这两个语句都是标准的ANSI SQL,但并非所有DBMS产品都支持这一点(但您只用SQL标记了您的问题,它指的是ANSI SQL(