在大型数据集中,我试图根据两个条件为每个property_id
选择1行
recording_date
recording_date
被多条记录共享,则采用最高售价(如果有)的记录数据示例如下:表名称:deeds
id | property_id | recording_date | sale_price
9bf7de90-0b3f-40b0-83bb-9392831a03a3 | 002bb6d2-e064-4eb4-adc2-45713836dfe1 | 2005-12-22 | 535000
30725c07-b4ab-484b-b09e-30592716340b | 002bb6d2-e064-4eb4-adc2-45713836dfe1 | 2017-09-27 |
c194b85a-3fb3-46e0-94f0-eeaba1e961e4 | 002bb6d2-e064-4eb4-adc2-45713836dfe1 | 2017-09-27 | 566000
(如果重要的话,我正在使用Postgres)
答案 0 :(得分:2)
使用distinct on
:
select distinct on (property_id) t.*
from t
order by property_id, recording_date desc, sales_price desc nulls last