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

Oracleの再帰クエリ

    Oracleでは、これはCONNECT BYを使用して簡単に実行できます。

    select message_id, parent_id, message_content
    from messages
    start with message_id = 97 -- this is the root of your conversation
    connect by prior message_id = parent_id;
    

    これにより、ツリーが上から下に移動します。

    ツリーを単一のメッセージからルートまでたどりたい場合は、start withを変更してください およびconnect by パート:

    select message_id, parent_id, message_content
    from messages
    start with message_id = 100 -- this is the root of your conversation
    connect by prior parent_id = message_id; -- this now goes "up" in the tree
    


    1. 過度のMySQLアクティビティ

    2. WHERE + KEY_Date + ='+date+'を使用したSQLiteException

    3. MySQL Orderby a number、Nulls last

    4. ソートを使用した再帰的サブクエリ