题目5:MySQL----------Consecutive Numbers

来源:互联网 发布:ubuntu不能创建文件夹 编辑:程序博客网 时间:2024/05/22 00:53

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.


题目解答

# Write your MySQL query statement belowselect 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
原创粉丝点击