gpt4 book ai didi

sql - 获取按 ID 分组的最新条目

转载 作者:行者123 更新时间:2023-12-04 22:07:16 29 4
gpt4 key购买 nike

我有一张产品库存表。问题是每次库存变化时,都会存储新值和新数量。示例:

ProductID | Quantity | LastUpdate
1 123 2019.01.01
2 234 2019.01.01
1 444 2019.01.02
2 222 2019.01.02

因此,我需要获取每个产品的最新库存更新并返回:

ProductID | Quantity
1 444
2 222

以下 SQL 有效,但速度很慢。

SELECT ProductID, Quantity
FROM (
SELECT ProductID, Quantity
FROM Stock
WHERE LastUpdate
IN (SELECT MAX(LastUpdate) FROM Stock GROUP BY ProductID)
)

由于查询速度很慢并且应该与另一个查询结合,我真的很想知道如何更好地完成这项工作。

还有别的办法吗?

最佳答案

使用解析函数。 row_number可以在这种情况下使用。

SELECT ProductID, Quantity
FROM (SELECT ProductID, Quantity, row_number() over(partition by ProductID order by LstUpdte desc) as rnum
FROM Stock
) s
WHERE RNUM = 1

或用first_value .

SELECT DISTINCT ProductID, FIRST_VALUE(Quantity) OVER(partition by ProductID order by LstUpdte desc) as quantuity
FROM Stock

关于sql - 获取按 ID 分组的最新条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54208733/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com