[2
在Oracle SQL 中提取每个组的最新条目
挑战:
给出了一个带有ID的表,Timestamp(“ date”)和数量(“数量”)列,我们如何为每个唯一ID有效地选择最新数量(及其相关的时间戳)?
解决方案:
可以使用以下方法来实现这一点:
由时间戳排名:为每个ID组中的每一行分配一个排名,按时间戳以降序订购。选择顶级等级:
过滤结果,以仅包含每个ID的最高等级的行。这些行代表最新条目。
与其他表:
通过在SELECT x.id, x."date", x.quantity
FROM (
SELECT
id,
"date",
RANK() OVER (PARTITION BY id ORDER BY "date" DESC) AS rnk,
quantity
FROM qtys
) x
WHERE x.rnk = 1;
此方法提供了一种强大而有效的方法,可以根据Oracle SQL中的时间戳检索每个组的最新值,适用于各种数据分析和操纵任务。 免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3