从表中删除具有最大日期的行
Posted
技术标签:
【中文标题】从表中删除具有最大日期的行【英文标题】:Delete rows with max Date from a table 【发布时间】:2021-01-30 05:28:56 【问题描述】:当flag ='N'
和(current_dt - vl_dt) > 15 yrs
时,我需要从表table1
中删除行。
虽然flag=y
甚至(current_dt - vl_dt) > 15 yrs
都不应该删除行。
任何人都可以在netezza中帮助撰写这篇文章
table1 emp vl_dt 标志 一个 01-01-2020 是 一个 09-01-2005 否 一个 05-02-2010 否 b 01-01-2010 否 b 09-01-2005 否
【问题讨论】:
emp vl_dt flag emp1 01-01-2020 Y emp1 09-01-2005 N emp1 05-02-2010 N emp2 01-01-2010 N emp2 09-01-2005 N 你写的代码是什么,请分享 delete from table1 where emp in ( select emp from table1 A join ( select emp,max(vl_dt) as vl_dt from table1 where flag='N' group by emp)b using (emp) where A .vl_dt =b.vl_dt and (current_dt-A.vl-dt)/365.25 >15 and A.flag ='N') 【参考方案1】:从 table1 中删除 flag = 'N' and current_dt > (vl_dt + interval '15 years');
【讨论】:
以上是关于从表中删除具有最大日期的行的主要内容,如果未能解决你的问题,请参考以下文章