首页 > 解决方案 > 选择最新日期以上的所有值

问题描述

请帮我完成一项任务。我想获取日期以上的所有数据。它可能是这样的: 1. 在列 last_date 中为每个 Product_Name 查找最大日期。2. 获取每个 Product_Name 组的 max(last_date)>start_date 的所有行

我的桌子:

我的_table1

我想得到什么:

Final_Resalt_table

标签: sqlsequel

解决方案


如果我理解正确,您可以使用窗口函数:

select t.*
from (select t.*,
             max(last_date) over (partition by product_name) as max_last_date
      from t
     ) t
where start_date > max_last_date;

请注意,我更改了比较的顺序以匹配您指定的结果,而不是问题描述的结果。


推荐阅读