如何使用最大字段获得不同的结果

时间:2018-05-30 07:19:14

标签: postgresql max distinct

我有一个问题:

select distinct(donorig_cdn),cerhue_num_rfa,max(cerhue_dt) from t_certif_hue 


 group by donorig_cdn,cerhue_num_rfa 


 order by donorig_cdn 

它返回了一些不同cerhue_num_rfa的重复ID 2451 2460 2467 are repeated

如何使用与日期最大值(cerhue_dt)匹配的cerhue_num_rfa重复id返回一行...并且最后只有10个结果而不是15?

1 个答案:

答案 0 :(得分:0)

Postgres有SELECT DISTINCT ON来救援。它只返回为给定列的每个值找到的第一行。因此,您只需要一个确保最新条目首先出现的订单。无需分组。

SELECT DISTINCT ON (donorig_cdn) donorig_cdn,cerhue_num_rfa,cerhue_dt
  FROM t_certif_hue 
  ORDER BY donorig_cdn, cerhue_dt DESC;