表1
id fsrq
1 2019/12/23
2 2020/5/8
1 2019/12/26
4 2020/1/2
1 2019/12/28
表2
id ywrq gxrq
1 2019/12/27 2019/12/27
2 2020/1/4 2020/1/4
3 2020/6/11 2020/6/11
4 2020/4/17 2020/4/17
5 2019/11/29 2019/11/29
表3
id yyrq gxrq
1 2020/5/14 2019/11/1
2 2020/4/15 2019/5/22
3 2021/9/6 2019/9/17
4 2021/7/5 2019/7/9
5 2020/4/2 2019/8/28
獲取最近第三次的fsrq,查詢該日期之后是否有ywrq(ywrq<fsrq);
并且,表2、表3最大的更新日期大于系統日期60天的id
請教該sql該如何寫,學習中
uj5u.com熱心網友回復:
select * from(select a.id,a.fsrq,b.ywrq,b.gxrq,c.yyrq,c.gxrq gxrq1 row_number()over(order by fsrq desc) rn
from tb1 a,tb2 b,tb3 c
where a.id=b.id
and b.id=c.id
) t where rn<=3
and ywrq<fsrq
and gxrq>sysdate+60
and gxrq1>sysdate+60;
看看是否符合你需求,你的需求說的也不是很明白
uj5u.com熱心網友回復:
最近三次,要加上 ROW_NUMER() OVER ( PARTITION BY ) 的析構寫法,自己研究下就知道了,很容易的。轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/10020.html
標籤:高級技術
上一篇:這種SQL一般如何優化
