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

最新のエントリを選択します

    他の提案は正しいですが、FIRST_VALUEおよびLAST_VALUE分析関数

    SELECT DISTINCT
       FIRST_VALUE(LOCATION_ID) OVER (PARTITION BY PERSON_ID ORDER BY THE_DATE 
                 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS LOCATION_ID, 
       PERSON_ID, 
       MAX(THE_DATE) OVER (PARTITION BY PERSON_ID) AS LAST_DATE
    FROM YOUR_TABLE;
    

    他の人は

    を好みます
    SELECT 
       MAX(LOCATION_ID) KEEP (DENSE_RANK FIRST ORDER BY DATE) as LOCATION, 
       PERSON_ID, 
       MAX(DATE) as LAST_DATE
    FROM YOUR_TABLE
    GROUP BY PERSON_ID;
    

    これは同じことをしますが、私はこの条項にあまり精通していません。 Aggregate_functionKEEP を参照してください。



    1. PostgreSQLで`select`を使用して現在のデータベースとユーザー名を取得するにはどうすればよいですか?

    2. (IPまたはドメイン名)でMySQLサーバーに接続できません

    3. Highcharts非同期サーバーの複数のシリーズの読み込み

    4. mysqlで無制限に3番目に高い給与を見つける