连续出现的数字
Posted chxyshaodiao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了连续出现的数字相关的知识,希望对你有一定的参考价值。
编写一个 SQL 查询,查找所有至少连续出现三次的数字。
+----+-----+
| Id | Num |
+----+-----+
| 1 | 1 |
| 2 | 1 |
| 3 | 1 |
| 4 | 2 |
| 5 | 1 |
| 6 | 2 |
| 7 | 2 |
+----+-----+
| Id | Num |
+----+-----+
| 1 | 1 |
| 2 | 1 |
| 3 | 1 |
| 4 | 2 |
| 5 | 1 |
| 6 | 2 |
| 7 | 2 |
+----+-----+
例如,给定上面的 Logs 表, 1 是唯一连续出现至少三次的数字。
+-----------------+
| ConsecutiveNums |
+-----------------+
| 1 |
+-----------------+
| ConsecutiveNums |
+-----------------+
| 1 |
+-----------------+
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/consecutive-numbers
链接:https://leetcode-cn.com/problems/consecutive-numbers
sql语句如下:
select distinct Num ConsecutiveNums from (select a.Num Num, count(b.Num) 总数 from Logs a join Logs b on b.Id - a.Id <=2 and a.Num = b.Num and b.Id - a.Id >= 0 group by a.Id )t where t.总数 >= 3
首先进行了双表连接,双表连接的条件是:id值的相差范围是0到2,而且Num相同;
然后从join表中选择出Num和Num出现的次数;
最后外层查询再从中选择出次数大于等于3的Num;
以上是关于连续出现的数字的主要内容,如果未能解决你的问题,请参考以下文章
六位数字序列连续出现,输出高电平并报警的verilog语言怎么写?
根据在 Spinner 中选择的数字,相同的片段应该出现在另一个之下。如何?
2022-11-25:连续出现的数字。编写一个 SQL 查询,查找所有至少连续出现三次的数字。 答案是输出1,原因是1是唯一连续出现三次的数字。 DROP TABLE IF EXISTS logs;