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

Oracle SQLでグループ化する方法。ただし、後日グループが繰り返される場合は複数の行があります

    これはギャップと島の問題です。さまざまなアプローチがありますが、単純なアプローチでは行番号の違いを使用します。

    with paaf as (<your first query here>
         )
    select paaf.assignment_id,
           paaf.position_id,
           min(paaf.effective_start_date) as effective_start_date,
           max(paaf.effective_end_date) as effective_end_date
    from (select paaf.*,
                 row_number() over (order by effective_start_date) as seqnum,
                 row_number() over (partition by position_id order by effective_start_date) as seqnum_p
          from paaf
         ) paaf
    group by (seqnum - seqnum_p), position_id, assignment_id;
    



    1. MySQLLEFTJOIN複数テーブルのロジックの問題

    2. 複数のデータソース/データベースを使用したSpring-Hibernate

    3. MySQL Workbenchの列フラグはどういう意味ですか?

    4. 表フォームを動的にする