我想计算 id 的数量,但以一种特殊的方式。比如这个id是4月份统计的,我就不想5月份再统计那个id了。所以不包括前几个月计算过的id。 这是我正在使用的查询。
从一个组中按 1,2 选择商店、月份名称(created_at)、计数(distinct customer_id);
希望你能帮助我。
提前致谢!
答案 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 分组;