不计算每月重复的 ID

时间:2021-05-28 10:01:13

标签: sql duplicates snowflake-cloud-data-platform

我想计算 id 的数量,但以一种特殊的方式。比如这个id是4月份统计的,我就不想5月份再统计那个id了。所以不包括前几个月计算过的id。 这是我正在使用的查询。

从一个组中按 1,2 选择商店、月份名称(created_at)、计数(distinct customer_id);

希望你能帮助我。

提前致谢!

2 个答案:

答案 0 :(得分:2)

只需计算第一次看到客户的时间。一种方法是两级聚合:

select store, date_trunc('month', min_created_at), count(*)
from (select store, customer_id, min(created_at) as min_created_at
      from a
      group by store, customer_id
     ) c
group by 1, 2;

注意:monthname() 不适合定义月份,因为它不考虑年份。如果您确实想忽略年份,可以使用 monthname(),但这似乎不寻常。

答案 1 :(得分:0)

希望这个 sql 语句有帮助!

选择商店,月份名称(created_at),计数(distinct customer_id) 从一个 其中月名(created_at)=MONTHNAME(current_date()) 按 1,2 分组;

相关问题