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

自己参照のmysqlテーブルから親子階層を取得します

    MySQLは再帰クエリをサポートしていないため、子が子を持つことができる場合、そのようなクエリを作成する方法はありません。それ以外の場合、このクエリは必要な順序で行を返す必要があります:

    SELECT * FROM tablename
    ORDER BY
      CASE WHEN parent_id=0 THEN id ELSE parent_id END,
      id
    

    フィドルこちら をご覧ください。 。秘訣は、idで行を並べ替えることです。 親の場合、またはparent_idによる場合 子の場合は、idで 。




    1. タイプ[java.lang.Object[]]からタイプへの変換に失敗しました

    2. postgreSQLで配列内部インデックスにアクセスする方法は?

    3. MYSQL 6.2でテーブルをロックせずに別のテーブルからデータをコピーするにはどうすればよいですか?

    4. MySQLでピボットテーブルクエリを自動化する方法