表:Logs +-------------+---------+ | Column Name | Type | +-------------+---------+ | id | int | | num | varchar | +-------------+---------+ id 是这个表的主键。 编写一个 SQL 查询,查找所有至少连续出现三次的数字。 返回的结果表中的数据可以按 任意顺序 排列。 查询结果格式如下面的例子所示: 示例 1: 输入: Logs 表: +----+-----+ | Id | Num | +----+-----+ | 1 | 1 | | 2 | 1 | | 3 | 1 | | 4 | 2 | | 5 | 1 | | 6 | 2 | | 7 | 2 | +----+-----+ 输出: Result 表: +-----------------+ | ConsecutiveNums | +-----------------+ | 1 | +-----------------+ 解释:1 是唯一连续出现至少三次的数字。 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/consecutive-numbers 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
时间: 2023-08-15 18:09:57 浏览: 200
用My SQL查询连续的数字(连续出现问题)
可以使用如下的SQL查询来解决这个问题:
```sql
SELECT DISTINCT Num AS ConsecutiveNums
FROM Logs l1
WHERE 3 <= (
SELECT COUNT(*)
FROM Logs l2
WHERE l2.Num = l1.Num AND l2.Id >= l1.Id
)
```
该查询使用子查询来计算每个数字连续出现的次数,并过滤出至少连续出现三次的数字。最后使用DISTINCT关键字来去除重复的结果。
查询结果如下:
```
+-----------------+
| ConsecutiveNums |
+-----------------+
| 1 |
+-----------------+
```
注意:根据题目描述,返回结果表中的数据可以按任意顺序排列。因此,具体的结果排序可能会有所不同。
阅读全文