我有三组信息:
我需要获取每个productID
销售的最新产品的信息并通过销售。我尝试使用日期的最大值,但这也迫使我使用分组给卖家,但我不想按卖家分组。我希望按productID
进行分组,获取最后一次销售的日期和人员。如何避免对卖家进行分组?
答案 0 :(得分:3)
使用Window function
可帮助您找到每个group(productId)
SELECT ProductID,
[date],
seller
FROM (SELECT Row_number()
OVER(
partition BY ProductID
ORDER BY [date] desc) Rn,
*
FROM tablename) a
WHERE rn = 1
或使用也可以Max aggregate
使用group by
来获得结果
SELECT ProductID,
[date],
seller
FROM tablename a
JOIN (SELECT Max([date]) [date],
productid
FROM tablename
group by productid) b
ON a.productid = b.productid
AND a.[date] = b.[date]