在 SQL 中查找最后更新的值

Posted

技术标签:

【中文标题】在 SQL 中查找最后更新的值【英文标题】:Find the last updated value in SQL 【发布时间】:2021-12-29 13:26:41 【问题描述】:

我试图弄清楚如何在表中找到最后更新的值,即使有多个日期,示例数据:

entry date | Product | Stock
2021-01-04 | Apple.  | 234
2021-01-03 | Apple.  | 234
2021-01-02 | Apple.  | 234
2021-01-01 | Apple.  | 235

以下数据集显示,最后一次更新股票价值是在2021-01-02

我尝试使用自加入和 where not exists 语句,但我遇到的问题是日期是每天插入的输入日期,所以我不能使用最大日期。

有什么建议吗?

【问题讨论】:

【参考方案1】:

你可以试试下面的查询-

SELECT MIN(entry_date), Product, Stock
  FROM (SELECT entry_date, Product, Stock,
               RANK() OVER(ORDER BY entry_date) RN1,
               RANK() OVER(PARTITION BY Stock ORDER BY entry_date) RN2
          FROM YOUR_TABLE)
 WHERE RN1-RN2 <> 0
 GROUP BY Product, Stock;

【讨论】:

以上是关于在 SQL 中查找最后更新的值的主要内容,如果未能解决你的问题,请参考以下文章

sql中如何更新符合条件的值

sql中如何更新符合条件的值

在 SQL 列中查找最常见的值

sql 在SQL中查找季度的最后一天

在 SQL 中查找重复的值对

用于查找彼此接近的值的 SQL 语句