sqlite 使用 cte 及 递归的实现示例

Posted 空明流光

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlite 使用 cte 及 递归的实现示例相关的知识,希望对你有一定的参考价值。

1.多级 cte 查询示例。

with cte as
(
   select pageid 
   from cm_bookpage
) , cte2 as
(
  select pageid, 2 as content from cte
)
select * from cte2

2. cte 递归查询文章标题层级,3872某一叶子节点,要查询出所有上级目录并排序返回。

with cte as
(
  select pageid,bookid,title,parentpageid,1 as orderid
  from cm_bookpage 
  where pageid = 3872        
  union all  
  select a.pageid,a.bookid,a.title,a.parentpageid,(cte.orderid+1) as orderid
  from cm_bookpage a  
    inner join cte       
      on a.pageid = cte.parentpageid  
)
select *
from cte
order by orderid desc 

 

以上是关于sqlite 使用 cte 及 递归的实现示例的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server CTE 和递归示例

MariaDB表表达式:CTE

PostgreSQL递归查询示例

SQLite中使用CTE巧解多级分类的级联查询

SQLite中使用CTE巧解多级分类的级联查询

CTE 不经过递归