码迷,mamicode.com
首页 > 数据库 > 详细

pgsql 递归查询 分页

时间:2016-07-19 09:07:22      阅读:455      评论:0      收藏:0      [点我收藏+]

标签:

--向下查询
WITH RECURSIVE res AS ( 
       SELECT * FROM t_tree WHERE id = 2
     union   ALL 
       SELECT t_tree.* FROM t_tree, res WHERE t_tree.pid = res.id 
     ) 
SELECT * FROM res ORDER BY id limit 3 OFFSET (2-1)*3;--分页

--向上
WITH RECURSIVE res AS ( 
       SELECT * FROM t_tree WHERE id = 2
             union   ALL 
       SELECT t_tree.* FROM t_tree, res WHERE t_tree.id = res.pid 
       --select * from t_tree where t_tree.id = (SELECT t_tree.pid FROM t_tree WHERE id = 2) --id为id为2的记录的父id的记录,即向上查询
     ) 
SELECT * FROM res ORDER BY id;

适用于单继承关系(每一条记录只有一个父级)

pgsql 递归查询 分页

标签:

原文地址:http://www.cnblogs.com/oyx305/p/5683120.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!