180.Mysql之连续出现的数字
Posted chaplin-code
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了180.Mysql之连续出现的数字相关的知识,希望对你有一定的参考价值。
编写一个 SQL 查询,查找所有至少连续出现三次的数字。
+----+-----+ | Id | Num | +----+-----+ | 1 | 1 | | 2 | 1 | | 3 | 1 | | 4 | 2 | | 5 | 1 | | 6 | 2 | | 7 | 2 | +----+-----+
例如,给定上面的 Logs
表, 1
是唯一连续出现至少三次的数字。
+-----------------+ | ConsecutiveNums | +-----------------+ | 1 | +-----------------+
解决方案:
1. 使用临时表或者关联表存储不重复的数字
2. 使用Having判断出现连续出现数字的次数和大于等于3
select l2.Num from Logs as l1 inner join (select distinct(Num) from Logs) as l2 on l1.Num = l2.Num having sum(if(l1.Num >= l2.Num, 1, 0)) >= 3
以上是关于180.Mysql之连续出现的数字的主要内容,如果未能解决你的问题,请参考以下文章
每日SQL打卡DAY 2丨连续出现的数字难度中等