mysql 8 递归函数
时间: 2023-08-29 16:10:55 浏览: 49
MySQL 8提供了与递归处理相关的函数和功能。其中,通用表表达式(Common Table Expressions,CTE)是一种常用的递归查询方法。通过CTE,我们可以使用WITH RECURSIVE关键字进行递归操作。下面是一个示例:
```
WITH RECURSIVE cte AS (
-- 初始化:获取菜单表中pid为0的数据作为cte的初始数据
SELECT * FROM sys_menu WHERE pid=0
UNION ALL
-- 开始检查是否循环
-- 将菜单表的pId与cte表的id进行关联合并到cte,如果cte数据未增加则退出
SELECT sm.* FROM sys_menu sm, cte WHERE sm.pid = cte.id
)
SELECT * FROM cte ORDER BY pid;
```
在这个示例中,我们首先初始化了cte,将菜单表中pid为0的数据作为初始数据。然后,通过UNION ALL将cte的数据与菜单表中与cte关联的数据进行合并,如果cte的数据未增加,则退出递归。最后,我们通过SELECT语句从cte中查询结果并按照pid排序。
除了CTE,MySQL 8还提供了其他递归处理的函数和方法。你可以根据具体的需求选择适合的方式来实现递归查询。<em>1</em><em>2</em><em>3</em>
#### 引用[.reference_title]
- *1* *3* [MySQL函数-递归函数](https://blog.csdn.net/qq_40301202/article/details/124322220)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item]
- *2* [Mysql8 的 递归函数](https://blog.csdn.net/qq_45947849/article/details/124928728)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item]
[ .reference_list ]
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)