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

各アカウントの最新の契約を見つける

    ROW_NUMBER を使用 :

    SELECT account, "date", "value"FROM(SELECT account, "date", "value", ROW_NUMBER() OVER (PARTITION BY account ORDER BY "date" DESC) rn FROM yourTable) tWHERE rn =1;  

    各アカウントの最大日付のみが必要な場合は、@NiVeR によって提供された現在削除された回答で十分であることに注意してください。値、または一般に各レコードの他の列も必要な場合は、追加の結合を行うか、上記で行ったように行番号を使用する必要があります。

    SQL Fiddle のデモ を参照してください .



    1. PostgreSQL:一意性違反:7エラー:重複するキー値が一意性制約users_pkeyに違反しています

    2. php sql multi bind_param

    3. データベースに値を保存する際の問題

    4. SQLの別の列の各値の最も一般的な値を取得します