您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

MySQL:连续几个月的记录数

MySQL:连续几个月的记录数

您可以在MysqL中使用变量(或非常复杂的相关子查询)来执行此操作。在其他数据库中,您将使用窗口/分析功能

逻辑是:

这是一个已经在您的sql fiddle上测试过的查询

select person, count(*) as numMonths
from (select person, ym, @ym, @person,
             if(@person = person and @ym = ym - 1, @grp, @grp := @grp + 1) as grp,
             @person := person,
             @ym := ym
      from (select distinct person, year(purdate)*12+month(purdate) as ym
            from records r
           ) r cross join
           (select @person := '', @ym := 0, @grp := 0) const
      order by 1, 2
     ) pym
group by person, grp;
MySQL 2022/1/1 18:34:43 有575人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶