Consecutive Numbers

来源:互联网 发布:java开发赛车游戏 编辑:程序博客网 时间:2024/06/15 06:22

Write a SQL query to find all numbers that appear at least three times consecutively.
+----+-----+| Id | Num |+----+-----+| 1  |  1  || 2  |  1  || 3  |  1  || 4  |  2  || 5  |  1  || 6  |  2  || 7  |  2  |+----+-----+

For example, given the above Logs table, 1 is the only number that appears consecutively for at least three times.

题意:将num连接出现超过3次的数找出来

思路:在select语句中添加计数信息,原来select还有这种功能

select distinct Num from (    select        Num,        case            when @prevNum = Num then @count := @count + 1            when (@prevNum := Num) is not null then @count := 1        end n    from Logs, (select @prevNum := NULL) r    order by Id) a where n >= 3

0 0
原创粉丝点击