标签:color 使用 关联表 mysql 解决方案 关联 tin ons 方案
编写一个 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
标签:color 使用 关联表 mysql 解决方案 关联 tin ons 方案
原文地址:https://www.cnblogs.com/chaplin-code/p/10049768.html