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

1つの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
    

    @r := 5 現在のページのページ番号です。結果は次のとおりです。

    1, 'Home'
    2, 'About'
    4, 'Legal'
    5, 'Privacy'
    


    1. パフォーマンスの神話:クラスター化インデックスと非クラスター化インデックス

    2. 列のサイズを変更する方法

    3. MySQL FIND_IN_SETまたは同等のものにインデックスを使用させることはできますか?

    4. SQLException:jdbc:oracle:thin:@ // localhost:1521/orclに適したドライバーが見つかりません