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

最大レコードを取得するOracle

    max(process_date)を取得するサブクエリを使用できます :

    select c1.b_id,
      c2.MaxDate
    from table_a a
    inner join table_b b
      on a.a_id = b.a_id
    inner join table_c c1
      on b.b_id = c1.b_id
    inner join
    (
      select max(process_date) MaxDate
      from table_c
    ) c2
      on c1.process_date = c2.maxdate;
    

    SQL Fiddle withDemo を参照してください。

    または、row_number()を使用できます :

    select b_id, process_date
    from 
    (
      select c1.b_id,
        c1.process_date,
        row_number() over(partition by a.a_id order by c1.process_date desc) rn
      from table_a a
      inner join table_b b
        on a.a_id = b.a_id
      inner join table_c c1
        on b.b_id = c1.b_id
    ) 
    where rn = 1
    

    SQL Fiddle withDemo を参照してください。



    1. org.postgresql.jdbc.PgConnection.createClob()を解決する方法はまだ実装されていません

    2. desc付近のSQL構文エラー

    3. DBと同じPCで開発する場合は、データベース接続を常に切断してください

    4. MySQLクエリを介して受信した複数の電子メールアドレスにPHPメーラーを送信する方法