【问题标题】:How to count all records and pull last activity date如何计算所有记录并提取上次活动日期
【发布时间】:2020-12-08 06:54:30
【问题描述】:

我是新手,非常抱歉,提前谢谢你!
我有这个最终我想要的查询:

  1. terr 拥有的客户数
  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

【问题讨论】:

  • 可能比需要的复杂一点,但是...而不是F.contact_stat as contacted, 你不想max(F.contact_stat) as contacted, (并从最后的GROUP BY 中删除此列。
  • 您按 F.cntry_enti_nbr 分组,因此 count (distinct F.cntry_enti_nbr) 将始终为 1。从 Select/Group By 中删除它
  • 感谢 Fred 和 dnoeth。我已经实施了你的两个建议。但是,仍然为帐户 #784370 生成两条记录。
  • 当然,基于 call_dt......Last_Call_Date......call_nbr 为 NULL/NOT NULL。您可能会添加另一个 QUALIFY,但我怀疑它会按预期工作,您可能分组很多,正如 Fred 所说,它似乎过于复杂。
  • @dnoeth 不确定如何实施您的建议。事实上,我想说的是,如果过去 60 天内没有电话,那么 #contacted 为 0 并将最后通话日期、通话日期和 call_nbr 留空。如果过去 60 天内有电话,请告诉我最新的电话详情。

标签: sql teradata teradata-sql-assistant


【解决方案1】:

在一位同事的帮助下,我能够通过添加此限定 rank() over() 语句来实现我想要的结果,以确保我只获得最新的 last_call_dt 信息:

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

希望这对某人有帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-14
    • 1970-01-01
    • 2018-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-06
    相关资源
    最近更新 更多