Sql 请注意,如果有2个或更多的产品id创建的日期不同,但最高金额相同,它们都将被退回。“我没有考虑过这种情况,谢谢 WITH cte AS ( SELECT * , RANK() OVER (PARTITION BY product_id ORDER BY

Sql 请注意,如果有2个或更多的产品id创建的日期不同,但最高金额相同,它们都将被退回。“我没有考虑过这种情况,谢谢 WITH cte AS ( SELECT * , RANK() OVER (PARTITION BY product_id ORDER BY,sql,postgresql,greatest-n-per-group,Sql,Postgresql,Greatest N Per Group,请注意,如果有2个或更多的产品id创建的日期不同,但最高金额相同,它们都将被退回。“我没有考虑过这种情况,谢谢 WITH cte AS ( SELECT * , RANK() OVER (PARTITION BY product_id ORDER BY amount DESC) AS rnk FROM Offers ) SELECT id, product_id, created_at, amount FROM cte WHERE rnk = 1 ORDER BY amount DESC

请注意,如果有2个或更多的产品id创建的日期不同,但最高金额相同,它们都将被退回。“我没有考虑过这种情况,谢谢
WITH cte AS
(
  SELECT * , RANK() OVER (PARTITION BY product_id ORDER BY amount DESC) AS rnk
  FROM Offers
)
SELECT id, product_id, created_at, amount
FROM cte
WHERE rnk = 1
ORDER BY amount DESC;
select distinct on (product_id) o.*
from offers o
order by product_id, amount desc;
SELECT o.*
FROM offer o
LEFT JOIN offer o1 ON o1.amount > o.amount AND o.product_id = o1.product_id
WHERE o1.amount IS NULL