首页 > 解决方案 > Teradata SQL 查询仅过滤具有所有期间 ID 条目的行

问题描述

我有一个包含 3 列(ID、YYYYMM、销售额)的数据集。我只想让每个 YYYYMM(201909 到 202003)都有记录的那些 ID。

我想拥有 ID 和 YYYYMM 级别的日期。我不想使用 group by 并将数据集减少到一个 ID 行。

标签: sqldatecountteradatawindow-functions

解决方案


嗯。. . 我认为这可以满足您的要求:

select t.*
from mytable t
where yyyymm >= 201909 and
      yyyymm <= 202003
qualify count(*) over (partition by id) = 6;

推荐阅读