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

Postgresqlは各IDの最後の行を抽出します

    最も効率的な方法は、Postgresのdistinct onを使用することです。 オペレーター

    select distinct on (id) id, date, another_info
    from the_table
    order by id, date desc;
    

    データベース間で機能する(ただし効率は低い)ソリューションが必要な場合は、ウィンドウ関数を使用できます。

    select id, date, another_info
    from (
      select id, date, another_info, 
             row_number() over (partition by id order by date desc) as rn
      from the_table
    ) t
    where rn = 1
    order by id;
    

    ウィンドウ関数を使用したソリューションは、ほとんどの場合、サブクエリを使用するよりも高速です。



    1. IN演算子に動的に値を渡す方法は?

    2. SQLServerデータベースの主キー制約とは-SQLServer/T-SQLチュートリアルパート54

    3. WordPressWebサイトのデータベースフェイルオーバー

    4. MySQLは比較する非数字文字を削除します