Mysql 我如何从SQL中获取数据,直到某一段时间

Mysql 我如何从SQL中获取数据,直到某一段时间,mysql,sql,date,group-by,count,Mysql,Sql,Date,Group By,Count,我有商户的数据和带有时间戳的商户的交易数量 我的问题是,如果我想计算2019年7月之前的交易数量,然后是8月,然后是9月,依此类推,那么将是该期间每个月的数据计数, 我只能从那个月获得数据,但直到那个月为止 类似数据: 你似乎在寻找每月的跑步记录 在MySQL 8.0中,可以使用窗口函数: select date_format(created_at, '%Y-%m-01') month_start, sum(count(*)) over(order by date_format(

我有商户的数据和带有时间戳的商户的交易数量

我的问题是,如果我想计算2019年7月之前的交易数量,然后是8月,然后是9月,依此类推,那么将是该期间每个月的数据计数, 我只能从那个月获得数据,但直到那个月为止

类似数据:


你似乎在寻找每月的跑步记录

在MySQL 8.0中,可以使用窗口函数:

select
    date_format(created_at, '%Y-%m-01') month_start,
    sum(count(*)) over(order by date_format(created_at, '%Y-%m-01')) running_count
from mytable
group by date_format(created_at, '%Y-%m-01')
order by month_start
在早期版本中,一个选项使用相关子查询:

select 
    t.month_start,
    (select count(*) from mytable t1 where t1.created_at < t.month_start + interval 1 month) running_cout
from (select distinct date_format(created_at, '%Y-%m-01') month_start from mytable) t

我被你的问题弄糊涂了。您是否需要整个月的数据,例如>='2019-07-01,请您澄清日期列是否为创建日期列?或者,从您的相似数据照片中删除的那个列直到七月最终会是:从CudiateTy[`2019-08-01 ]的商家中选择CurrTraceTangOnID,以防您想在使用联盟的情况下提取查询中的所有内容,但结果集将不太清楚理解。请显示您想要的结果。
select 
    t.month_start,
    (select count(*) from mytable t1 where t1.created_at < t.month_start + interval 1 month) running_cout
from (select distinct date_format(created_at, '%Y-%m-01') month_start from mytable) t