我有一张这样的桌子:
Type | Time
1 | 234234
2 | 234235
1 | 234238
3 | 234239
4 | 234240
1 | 234242
2 | 234245
我想计算所有那些行的数量 wheretype=1
和 next row's type=2
。
例如:这里的结果是2
。我不知道如何将where
条款放在next row
.
您应该能够实现用户定义的变量来获得总数:
select count(*) Total
from
(
select type,
@row:=(case when @prev=1 and type=2 then 'Y' else 'N' end) as Seq,
@prev:=type
from yourtable, (SELECT @row:=null, @prev:=null) r
order by time, type
) src
where Seq = 'Y'