首页 > 解决方案 > 如何在 Terada SQL 中选择从当前日期起最近 30 天内至少进行 2 次交易的客户?

问题描述

我在 Teradata SQL 中有关于事务的表,如下所示:

ID   | NAME | DATE
------------
123  | Adam | 10-09-2021
123  | Adam | 11-09-2021
333  | Jane | 15-06-2021
456  | Tom  | 11-02-2016
123  | Adam | 08-09-2021
333  | Jane | 22-01-2021
123  | Adam | 23-05-2017

我想只选择从今天(2021 年 9 月 13 日)起的最近 30 天内至少进行 2 笔交易的客户。

因此,我需要类似下面的内容,因为只有客户 Adam 在当前日期的最后 40 天内进行了最少 2 笔交易。

ID   | NAME
------------
123  | Adam

如何在 Teradata SQL 中做到这一点?

标签: sqldateteradatateradata-sql-assistantteradatasql

解决方案


嗯。. . 如果您只想要客户端,那么这是过滤和聚合:

select id, name
from transactions
where date >= current_date - 30
group by id, name
having count(*) >= 2;

推荐阅读