SQL分页查询的方式有以下几种:
使用LIMIT和OFFSET:LIMIT用于指定返回的记录数量,OFFSET用于指定起始位置。例如,LIMIT 10 OFFSET 20表示从第21条记录开始返回10条记录。
使用ROW_NUMBER函数:ROW_NUMBER函数可以为每一行添加一个序号,然后根据序号进行筛选。例如,SELECT * FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY id) as row_num FROM table) as sub WHERE row_num BETWEEN 21 AND 30。
使用TOP和FETCH FIRST:TOP用于指定返回的记录数量,FETCH FIRST用于指定起始位置。具体语法因数据库而异。例如,SELECT TOP 10 * FROM table OFFSET 20。
使用子查询:通过将原始查询作为子查询,在外部查询中添加条件来实现分页。例如,SELECT * FROM (SELECT * FROM table ORDER BY id) as sub WHERE id BETWEEN 21 AND 30。
需要注意的是,不同的数据库支持不同的分页方式,具体语法可能会有所差异。