Как получить четкие результаты с макс поля - PullRequest
0 голосов
/ 30 мая 2018

У меня есть запрос:

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 2451 2460 2467 are repeated

как мне вернуть только одну строку дляповторные идентификаторы с cerhue_num_rfa, который соответствует максимальному значению даты (cerhue_dt) .. и имеют в конце только 10 результатов вместо 15?

1 Ответ

0 голосов
/ 30 мая 2018

У 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;
...