mysql查询连续3个月以上_MySQL:连续几个月的记录数

我一直在寻找这个,但所有类似的问题和答案都是不同的,不起作用.

我有一个包含以下字段的表:person,thing,purdate.当一个人购买每件新东西时输入一条新记录.

我想计算一个人买了任何“东西”的连续月份(thing01或者thing02,它不会).如果连续的purdays中断,那么计数应该重新开始.

随附数据,我想最终得到:

| Person | Consec Days |

| person_01 | 3 |

| person_02 | 3 |

| person_02 | 2 |

我知道我可以获得一个明确的人员列表,提取(来自purdate的year_month) – 我已经在SQLFIDDLE中完成了 – 但是我不知道如何只计算连续记录并在休息时重新开始(比如我的数据,其中person_02在3月到5月之间中断.)

这是数据:

create table records (

person varchar(32) not null,

thing varchar(32) not null,

purdate datetime not null

);

insert into records (person, thing, purdate) values

('person_01', 'thing01', '2014-01-02'),

('person_01', 'thing02', '2014-01-02'),

('person_01', 'thing02', '2014-02-27'),

('person_01', 'thing02', '2014-03-27'),

('person_02', 'thing02', '2014-01-28'),

('person_02', 'thing01', '2014-02-28'),

('person_02', 'thing02', '2014-03-28'),

('person_02', 'thing02', '2014-05-29'),

('person_02', 'thing02', '2014-06-29')

;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值