Sqlite3递归查询,分页查询

版权声明

本文首发自CSDN博客:http://blog.csdn.net/sisyphus_z

作者:alex_zuo

无需授权即可转载,但请自觉保留以上版权声明。


技术点:使用Sqlite3实现递归查询,分页查询

 

向下递归

向上递归

Sqlite的分页查询
limit N表示取N个记录.
offset P表示从下标P开始, 第一行的下标是0, 也可以理解为跳过P行.
limit要放在查询语句的最后:
select * from finery where id > 7 order by id limit 10 offset 0;
递归查询可复制sql:
WITH RECURSIVE  down(id,name,pid,layer,sort,type_id,is_piece,piece_Id,type_tree_id,group_id) AS   
( 
    SELECT id,name,pid,layer,sort,type_id,is_piece,piece_Id,type_tree_id,group_id 
    FROM t_product_tree   
    WHERE id='2014112411014156812'   
    UNION   
    SELECT a.id,a.name,a.pid,a.layer,a.sort,a.type_id,a.is_piece,a.piece_Id,a.type_tree_id,a.group_id                                                                         
    FROM t_product_tree a,down b 
    WHERE b.id = a.pid   
) SELECT * from down 


WITH RECURSIVE  up(id,name,pid,layer,sort,type_id,is_piece,piece_Id,type_tree_id,group_id) AS   
( 
    SELECT id,name,pid,layer,sort,type_id,is_piece,piece_Id,type_tree_id,group_id 
    FROM t_product_tree   
    WHERE id='2014112411014156812'   
    UNION   
    SELECT a.id,a.name,a.pid,a.layer,a.sort,a.type_id,a.is_piece,a.piece_Id,a.type_tree_id,a.group_id                                                                         
    FROM t_product_tree a,up b 
    WHERE b.pid = a.id   
) SELECT * from up 



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值