mysql递归查询,mysql中从子类ID查询所有父类(做无限分类经常用到)

由于mysql 不支持类似 oracle with ...connect的 递归查询语法

之前一直以为类似的查询要么用存储过程要么只能用程序写递归查询.

现在发现原来一条sql语句也是可以搞定的

先来看数据表的结构如下:

id  name    parent_id

---------------------------

1   Home        0

2   About       1

3   Contact     1

4   Legal       2

5   Privacy     4

6   Products    1

7   Support     1

我要的要求是根据一个分类ID(这个分类ID可能是一个子分类),得到所有的父分类,下面是相应的SQL:

SELECT T2.id, T2.name

FROM (

SELECT

@r AS _id,

(SELECT @r := parent_id FROM table1 WHERE id = _id) AS parent_id,

@l := @l + 1 AS lvl

FROM

(SELECT @r := 5, @l := 0) vars,

table1 h

WHERE @r <> 0) T1

JOIN table1 T2

ON T1._id = T2.id

ORDER BY T1.lvl DESC;

mysql 递归查询_Mysql递归查询,无限级上下级菜单相关推荐

  1. Mysql递归查询,无限级上下级菜单

    mysql递归查询,mysql中从子类ID查询所有父类(做无限分类经常用到) 由于mysql 不支持类似 oracle with ...connect的 递归查询语法 之前一直以为类似的查询要么用存储 ...

  2. php mysql怎么实现,使用php与mysql怎么实现一个无限级分类

    使用php与mysql怎么实现一个无限级分类 发布时间:2020-12-25 15:25:14 来源:亿速云 阅读:84 作者:Leah 本篇文章为大家展示了使用php与mysql怎么实现一个无限级分 ...

  3. 仿WINDWS无限级Ajax菜单树升级1.2版(菜单名支持非法字符)

    仿WINDWS无限级Ajax菜单树升级1.2版(菜单名支持非法字符)          1.1版出现了输入非法字符与空格后导致程序出错的BUG,我对程序再次升级为1.2版,这次将支持非法字符式的菜单名 ...

  4. 仿WINDWS无限级Ajax菜单树升级1.3版(修补了严重BUG)

    仿WINDWS无限级Ajax菜单树升级1.3版(修补了严重BUG) WINDWS无限级Ajax菜单树又升级了(1.3版)              对以下BUG进行了修复       1.只能在文字上 ...

  5. ASP+XML+JavaScript实现动态无限级联动菜单

    我做某个项目时,有需求的是做一个动态的无限级的联动菜单.由于本人比较懒于是上网找找有关的代码,但很多都没有满足需求,其中有一编文章是用JavaScript对XML文件操作来实现无限级联动菜单的,我们可 ...

  6. sql 没有调试 菜单_MySQL递归查询上下级菜单

    正文 在传统的后台管理系统里面经常会需要展示多级菜单关系,今天我们来学一下如何使用一条SQL语句展示多级菜单. 现在我们有一张corpinfo单位表,里面有一个belong字段指向上级单位,首先来看一 ...

  7. MySQL递归查询上下级菜单

    正文 在传统的后台管理系统里面经常会需要展示多级菜单关系,今天我们来学一下如何使用一条SQL语句展示多级菜单. 现在我们有一张corpinfo单位表,里面有一个belong字段指向上级单位,首先来看一 ...

  8. mysql 递归查找父节点_MYSQL递归查询,根据子类ID查询所有父类(最全)

    数据表结构 id    name  parent_id 1        A        0 2        B        1 3        C        1 4        D   ...

  9. mysql 递归查找父节点_MySQL递归查询树状表的子节点、父节点具体实现

    简介:mysql5.0.94版本,该版本以及较高级的版本(5.5.6等等)尚未支持循环递归查询,和sqlserver.oracle相比,mysql难于在树状表中层层遍历的子节点.本程序重点参考了下面的 ...

  10. mysql 向上递归查询_mysql如何实现递归查询

    mysql实现递归查询的方法:首先创建表,并初始化数据:然后向下递归,利用[find_in_set()]函数和[group_concat()]函数实现递归查询. 本教程操作环境:windows7系统. ...

最新文章

  1. 最近学习linux-c的编程
  2. 论理想中的技术团队——领导力
  3. ASP.NET MVC + ADO.NET EF 项目实战(三):引入jQuery
  4. 10 分钟让你明白 MySQL 是如何利用索引的
  5. 366万常用的中 txt 网盘_人间值得 – 中村恒子 pdf+azw3+epub+mobi+txt+docx|百度网盘资源分享...
  6. java集成 腾讯信鸽_移动推送 腾讯信鸽集成
  7. 九宫格拼图游戏的总结
  8. laravel8 微信小程序(实现简单签到功能)
  9. TCP粘包现象分析及处理方式
  10. python的help()用法
  11. 【JZOJ 4623】搬运干草捆
  12. 盘点IT职场“最差”程序员,这7个特征尤为典型!
  13. 如何实现团队高效协作?
  14. 单片机小精灵(延时、定时计算软件)
  15. 【面经】米哈游数据开发面经
  16. 安卓上哔哩哔哩视频的导出
  17. echarts旭日图
  18. python:shape和reshape函数基本讲解
  19. CS61A Lab 13
  20. tar gz bz bz2 等各种解压文件使用方法

热门文章

  1. mysql怎么设主键和外键_在MySQL中如何设置主键和外键
  2. mysql8从入门到精通电子书_MySQL 8从入门到精通(视频教学版)
  3. 免费c语言入门自学书籍pdf下载,c语言从入门到精通pdf
  4. FMEA软件七步法(FMEAHunter)
  5. 【MFC开发(1)】MFC的介绍、与Qt的区别
  6. Fortran笔记,全局变量
  7. Mpass – PHP做Socket服务的解决方案
  8. mPaas集成项目、新建mPaaS项目
  9. C++ 常用代码大全
  10. python画离散点_python 画散点图