获取等级,用于父子层级不明确时

这篇博客介绍了如何使用MySQL查询具有层级关系的数据,通过一个具体的SQL语句展示如何递归获取某个ID所在的层级。示例中,从cate表中根据指定ID递归查找所有上级节点,直至顶层,得出其在整个层级结构中的位置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysql语句 (递归查询)

SELECT
    MAX(s. LEVEL)-1 AS `level`
FROM
    (
        SELECT
            @l := @l + 1 AS LEVEL,
            @id := (
                SELECT
                    parent_id
                FROM
                    cate
                WHERE
                    id =@id
            )
        FROM
            cate a,
            (SELECT @id := 3, @l := 0) b
        WHERE
            @id IS NOT NULL
    ) s

大致表(cate)如下:

idparent_idname
10aaa
21bbb
32ccc

mysql代码块中@id := 3的数字改为你想要的那条信息的id,即可得出所在等级

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值