佛系每日养生题180. 连续出现的数字

180. 连续出现的数字

表:Logs

Type Column Name
int id
varchar num

id 是这个表的主键。

编写一个 SQL 查询,查找所有至少连续出现三次的数字。
返回的结果表中的数据可以按 任意顺序 排列。
查询结果格式如下面的例子所示:

Logs 表:

Id Num
1 1
2 1
3 1
4 2
5 1
6 2
7 2

Result 表:

ConsecutiveNums
1

1 是唯一连续出现至少三次的数字。

连续出现的意味着相同数字的 Id 是连着的,由于这题问的是至少连续出现 3 次,我们使用 Logs 并检查是否有 3 个连续的相同数字。

SELECT DISTINCT
    l1.Num AS ConsecutiveNums
FROM
    Logs l1,
    Logs l2,
    Logs l3
WHERE
    l1.Id = l2.Id - 1
    AND l2.Id = l3.Id - 1
    AND l1.Num = l2.Num
    AND l2.Num = l3.Num
posted @ 2022-01-27 22:58  HEREISDAVID  阅读(86)  评论(0编辑  收藏  举报