sql >> データベース >  >> RDS >> Mysql

単一のクエリ(再帰クエリ)でmysqlテーブル内のすべての親を検索する

    SELECT T2.id, T2.title,T2.controller,T2.method,T2.url
    FROM (
        SELECT
            @r AS _id,
            (SELECT @r := parent_id FROM menu WHERE id = _id) AS parent_id,
            @l := @l + 1 AS lvl
        FROM
            (SELECT @r := 31, @l := 0) vars,
            menu m
        WHERE @r <> 0) T1
    JOIN menu T2
    ON T1._id = T2.id
    ORDER BY T1.lvl DESC;
    

    デモ




    1. SQLite Count()をGROUP BYと組み合わせて、結果セットに「カウント」列を追加します

    2. LINQ to SQL Take w / o Skipは、複数のSQLステートメントを引き起こします

    3. Debian8にphpMyAdminをインストールして設定する方法

    4. Java-前日として保存された日付