问题描述
- DB2取100到200条记录无排序(取出数据库中固定的记录)
- 第一种:思路-->>现获取前100条然后查询结果集在这100条意外再取前100条记录.
代码:SELECT * FROM TABLE WHERE ID not in (
SELECT ID FROM TABLE FETCH FIRST 100 ROWS ONLY
) FETCH FIRST 100 ROWS ONLY 。第二种:思路-->>分页技术,给所有记录添加id,然后取101到200条记录。
代码:SELECT * FROM (
SELECT b.*rownumber() over() AS rn FROM table b
) AS A WHERE A.rn>=101 AND A.rn<=200最后得到的结果集不是完全相同,哪个才是真正的101到200条呢?区别是什么?请大神指点~~~~~~~~
解决方案
解决方案二:
取出200条记录,然后将指针指向第100条数据。
解决方案三:
个人感觉第一种方式的问题出现在如果ID是主键,查询的过程中他会自动排序。
时间: 2024-09-19 08:42:02