Leetcode Database: #180 Consecutive Numbers
题目
解题思路
使用临时变量 prevVal
保存上一个 Num
值,然后使用临时变量 count
保存当前连续出现相同数字的次数。最外层 SELECT 再把 Num
这一列中 nowCount >= 3 的值取出。
连续数字计数可使用 @count := IF(@prevVal = Num, @count + 1, 1)
条件,prevVal
若为 NULL
,等式不成立 count
初始化为 1;若 prevVal
是正常值则正常比较,现在值等于前值则加 1,否则初始化为 1。
这里如果用 CASE WHEN
则代码会长一些:
1 | CASE |