文章详情页
java - 遇到Oracle数据库分页查询的问题
浏览:292日期:2023-12-06 09:50:14
问题描述
是这样的,我这个表中有KS_ZKZ这个字段,这个字段在表中并不是唯一的,每个学号都出现了多次,我现在想依据这个学号来进行分页查询:首先把学号去重,并升序排列:
SELECT DISTINCT(KS_ZKZ) from ZK.T_BYSQ_KS_KC ORDER BY KS_ZKZ ASC

有了这个查询结果后,想查询这个结果的从rownum 为a到b的数据:
SELECT KS_ZKZ,ROWNUM FROM(SELECT DISTINCT(KS_ZKZ) from ZK.T_BYSQ_KS_KC ORDER BY KS_ZKZ ASC)WHERE ROWNUM >=10 AND ROWNUM<=20
但是问题出现了:下面是查询结果。。

为什么查不到呢?
问题解答
回答1:rownum只是一个伪列, 你里面那层需要查个rownum出来就行, 比如
SELECT KS_ZKZ FROM(SELECT DISTINCT(KS_ZKZ), ROWNUM rn from ZK.T_BYSQ_KS_KC ORDER BY KS_ZKZ ASC)WHERE rn between 10 AND 20 回答2:
rownum的判断必须以1开始,比如=1,<5都是成立的,但是=2,>7都必须先将结果集查出来,通过子语句再查询(rownum需要别名)
标签:
java
相关文章:
1. python3.x - python多线程如何修改数据?2. java - 前后端分离怎么解决后端数据太多的问题?3. angular.js - angular中的a标签不起作用4. html - 如何删除css文件中没有被引用的类?5. mysql5.7 安装后无法设置密码6. javascript - 看到函数声明这块有个函数不是很理解7. python - 用 requests 登陆战网失败8. java - 为什么第一个线程已经释放了锁,第二个线程却不行?9. python - 怎样在linux下开发flask web应用时查看代码出错(traceback)的地方。10. MYSQL 运算的问题
排行榜

网公网安备