博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle纯SQL实现递归查询分页(树查询分页)
阅读量:7143 次
发布时间:2019-06-28

本文共 622 字,大约阅读时间需要 2 分钟。

查遍了Google、Baidu,都没有结果,可能是关键词不对。只好发挥自己的想象力,对,想象力,终于实现了。

需求是:根节点有N级子节点,显示从根节点到该子节点的所有父子节点。说白了,pageSize是根据根节点数量确定的,而不是根节点+子节点,传统的ROWNUM形式就可以说拜拜了。以下是我自己的实现,如有更好的方案,请指点,不过,我这里有个明显的缺陷,需要某个字段是递增的。

SELECT * FROM (  SELECT    XXX_LEVEL    ,ID,XXX_NAME,    CASE XXX_LEVEL WHEN 1 THEN      (SELECT COUNT(1) FROM XXX_XXX_CAT WHERE XXX_LEVEL = 1 AND ID <= DTC.ID)    ELSE 0    END COUNTS  FROM XXX_XXX_CAT DTC  START WITH ID IN (    SELECT ID FROM XXX_XXX_CAT    WHERE      XXX_NAME LIKE 'A%'  ) CONNECT BY PRIOR XXX_CODE = PARENT_XXX_CODE) WHERE COUNTS < 2 AND COUNTS >= 1 OR COUNTS = 0;

 

转载于:https://my.oschina.net/vright/blog/1607682

你可能感兴趣的文章
不满公司袒护男高管,谷歌 200 女工程师发起罢工运动
查看>>
快速上手物联网解决方案(5)—— DataV
查看>>
Apache NetBeans 11.0 正式发布,支持 Java 12
查看>>
解决拦截器对ajax请求的的拦截
查看>>
View的三次measure,两次layout和一次draw
查看>>
PostgreSQL流复制热备
查看>>
行业看点 | 超高性能量子计算机现身,成解析复杂算法大杀器
查看>>
人vs机器:无人驾驶汽车真能够取代人类?
查看>>
大数据应用安全研究报告(11家公司实践详解)
查看>>
比特币的潜在最大“杀手”是量子计算机?科学家称,后者强大的计算力将攻破比特币的安全性...
查看>>
MES之殇和工业IOT之春
查看>>
历史画作遭破坏,3D打印和 AI 来帮忙
查看>>
Atom飞行手册翻译: 3.8 编写spec
查看>>
智能健康行业突破不大,却走向“歪路”
查看>>
机器人也有触感了!斯坦福大学开发人工感觉神经系统让蟑螂抽搐
查看>>
5 Reasons Why You Should Try Kibana
查看>>
阿里云网络漏洞扫描系统AVDS(商业化)发布
查看>>
Pam认证模块
查看>>
解决tomcat"Could not reserve enough space for object heap"
查看>>
sersync实现主机实时双向同步
查看>>