最大日期行postgresql
Maximum date row postgresql
我想按产品找出具有最大日期的行,
我想找出行的最大日期 product_id
我试过DISTINCT,但是没成功!
这样做的一种规范方法是使用子查询来识别与每个产品 ID 的最大日期对应的记录,然后通过 INNER JOIN
.[= 限制原始 table 12=]
SELECT t1.*
FROM yourTable t1
INNER JOIN
(
SELECT PRODUCT_ID, MAX(DATE) AS DATE
FROM yourTable
GROUP BY PRODUCT_ID
) t2
ON t1.PRODUCT_ID = t2.PRODUCT_ID AND
t1.DATE = t2.DATE
另一种方法是通过 window 函数。
select * from (
SELECT *, row_number() over (partition by Product_ID order by date desc) r
FROM table
) T
WHERE T.r=1
我想按产品找出具有最大日期的行,
我想找出行的最大日期 product_id
我试过DISTINCT,但是没成功!
这样做的一种规范方法是使用子查询来识别与每个产品 ID 的最大日期对应的记录,然后通过 INNER JOIN
.[= 限制原始 table 12=]
SELECT t1.*
FROM yourTable t1
INNER JOIN
(
SELECT PRODUCT_ID, MAX(DATE) AS DATE
FROM yourTable
GROUP BY PRODUCT_ID
) t2
ON t1.PRODUCT_ID = t2.PRODUCT_ID AND
t1.DATE = t2.DATE
另一种方法是通过 window 函数。
select * from (
SELECT *, row_number() over (partition by Product_ID order by date desc) r
FROM table
) T
WHERE T.r=1