如何 select 客户在 Terada SQL 从当前日期起的过去 30 天内至少进行了 2 笔交易?

How to select clients which made minimum 2 transactions during last 30 days from current date in Terada SQL?

我在 Teradata SQL 中有 table 如下交易:

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

而且我只想select那些在从今天(13-09-2021)起的过去 30 天内至少进行了 2 笔交易的客户。

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

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

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

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

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