如何计算所有记录并确定上次活动日期

问题描述

我是个新手,很抱歉,在此先感谢您!
我有这个查询,最终我想要:

  1. 计算有多少客户
  2. 计算最近60天内联系的客户数量
  3. 与客户联系的地方,然后填充最后的F.call_dt,F.Last_Call_Date,F.call_nbr

样本数据:

Row...Terr......call_dt......Last_Call_Date.....call_nbr.....acct_#.....#_aligned.........contact.........compliance

1.......SR 1.......?................?.............?............6853.........1..............0.................0

2.......SR 1.......?................?.............?.............370.........1..............0.................0

3.......SR 1...6/23/2019....6/23/2019 .........75001..........784370........1..............1.................1  ** 

4.......SR 1.......?................?.............?...........784370........1..............0.................0

这就是我希望看到的:

Row...Terr......call_dt......Last_Call_Date.....call_nbr.....acct_#.....#_aligned.........contact.........compliance

1.......SR 1.......?................?..............?.............6853........1..............0................0

2.......SR 1.......?................?..............?..............370........1..............0................0

3.......SR 1...6/23/2019.......6/23/2019 .........75001........784370........1..............1................1

解决方法

在同事的帮助下,我通过添加以下合格的rank()over()语句来确保仅获得最新的last_call_dt信息,从而达到了预期的结果:

qualify rank() over (partition by terr,acct # order by call_dt) = 1

希望这对某人有帮助!