我有一张这样的表:
Type | Time
1 | 234234
2 | 234235
1 | 234238
3 | 234239
4 | 234240
1 | 234242
2 | 234245
我想计算type=1
和下一行type=2
所有行的数量。
例如:此处的结果为2
。
我不知道如何将where
条款放在next row
上。
答案 0 :(得分:1)
您应该能够实施user defined variables来获得总数:
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'