我想查找按产品划分的最大日期行
我想通过product_id
找出行的最大日期
我尝试过DISTINCT但是不能成功!
答案 0 :(得分:1)
执行此操作的一种规范方法是使用子查询来标识与每个产品ID的最大日期对应的记录,然后通过INNER JOIN
限制原始表。
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
另一种方法是通过窗口函数。
答案 1 :(得分:0)
select * from (
SELECT *, row_number() over (partition by Product_ID order by date desc) r
FROM table
) T
WHERE T.r=1