postgresql:各一意の識別子の最後の行
を抽出します。次のデータを検討してください:
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;2 2014-02-01 sada
3 2014-06-06-06-06-06-06-06-06-06-06-06-06-06-06-06-06-2Dわずかなパフォーマンスを犠牲にする可能性のあるクロスダタベースソリューションを好む、ウィンドウ関数を使用できます:
select id、date、another_info
から (
id、date、another_infoを選択します。
row_number()over(日付DESCによるID注文によるパーティション)RNとして
the_tableから
)t
ここで、rn = 1
id;
による注文のほとんどの場合、ウィンドウ関数を含むソリューションは、サブクエリを使用するよりも高速です。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3