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

Oracle SQL Select Matching Query

    このアプローチを試すことができます:

    -- sample of data from the question
    SQL> with t1(uid1, rid, time_type, date_time) as
      2  (
      3    select 'a11',  1, 1, '5/4/2013 00:32:00' from dual union all
      4    select 'a43',  2, 1, '5/4/2013 00:32:01' from dual union all
      5    select 'a68',  2, 2, '5/4/2013 00:32:02'  from dual union all
      6    select 'a98',  2, 1, '5/4/2013 00:32:03'  from dual union all
      7    select 'a45',  2, 1, '5/4/2013 00:32:04'  from dual union all
      8    select 'a94',  1, 2, '5/4/2013 00:32:05'  from dual union all
      9    select 'a35',  2, 2, '5/4/2013 00:32:07'  from dual union all
     10    select 'a33',  2, 2, '5/4/2013 00:32:08'  from dual
     11  ) -- the query
     12  select uid1
     13       , rid
     14       , time_type
     15       , date_time
     16    from (select uid1
     17               , rid
     18               , time_type
     19               , date_time
     20               , row_number() over(partition by rid, time_type order by rid) as rn
     21            from t1
     22          )
     23  order by rid, rn, time_type
     24  /
    

    結果:

    UID1        RID  TIME_TYPE DATE_TIME
    ---- ---------- ---------- -----------------
    a11           1          1 5/4/2013 00:32:00
    a94           1          2 5/4/2013 00:32:05
    a43           2          1 5/4/2013 00:32:01
    a68           2          2 5/4/2013 00:32:02
    a98           2          1 5/4/2013 00:32:03
    a35           2          2 5/4/2013 00:32:07
    a45           2          1 5/4/2013 00:32:04
    a33           2          2 5/4/2013 00:32:08
    
    8 rows selected
    

    SQLFiddleデモ




    1. Rails + Amazon RDS:レイテンシーの問題

    2. phpを使用してデータベース(mysql)のラジオボタンの値を更新したい

    3. psql:致命的:ユーザーpostgresのID認証に失敗しました

    4. 複数のホスト名と複数の特権?