每天进行一次交易的用户数量中的谁?

时间:2020-08-23 12:52:56

标签: mysql sql

这是我的查询:

select count(1) from 
    (select count(1) num, user_id from pos_transactions pt 
    where date(created_at) <= '2020-6-21'
    group by user_id  
    having num = 1) x

它提供了在2020-6-21之前进行过1次交易的用户数。现在,我也想按date(created_at)对其进行分组。我的意思是,我想获取日期列表(例如2020-6-212020-6-22等。)以及该日期(天)内进行过1次交易的用户数。

任何想法我该怎么做?


编辑:上面的查询结果正确,问题是,现在是手动的。我的意思是,我必须手动增加2020-6-21。我想自动制作。换句话说,我想要一个所有日期(从2020-6-21到现在)的列表,其中包含在该日期之前进行过1次交易的用户数。

1 个答案:

答案 0 :(得分:0)

如果您希望每天进行一次交易的用户数量,则还需要按日期进行汇总:

select dte, count(*)
from (select date(created_at) as dte, user_id
      from pos_transactions pt 
      where date(created_at) <= '2020-6-21'
      group by dte, user_id  
      having count(*) = 1
     ) du
group by dte;