LeetCode 180 連續出現的數字

2021-10-23 10:41:47 字數 1454 閱讀 9377

題目:

編寫乙個 sql 查詢,查詢所有至少連續出現三次的數字。

返回的結果表中的資料可以按 任意順序 排列。

表: logs

+-------------+---------+

| column name | type |

+-------------+---------+

| id | int |

| num | varchar |

+-------------+---------+

id是這個表的主鍵

返回如下結果

+----+-------+

| id | num |

+----+-------+

| 1 | 1 |

| 2 | 1 |

| 3 | 1 |

| 4 | 2 |

| 5 | 1 |

| 6 | 2 |

| 7 | 2 |

+----+-------+

新增表結構和資料
drop table if exists `logs`;

create table `logs` (

`id` int(11) not null,

`num` int(11) null default null,

primary key (`id`) using btree

) engine = innodb character set = utf8 collate = utf8_general_ci row_format = compact;

insert into `logs` values (1, 1);

insert into `logs` values (2, 1);

insert into `logs` values (3, 1);

insert into `logs` values (4, 2);

insert into `logs` values (5, 1);

insert into `logs` values (6, 2);

insert into `logs` values (7, 2);

思路:
# id是連續的,數字是相等的
解答:
select distinct

l1.num as consecutivenums

from

logs as l1,

logs as l2,

logs as l3

where

l1.id = l2.id - 1

and l2.id = l3.id - 1

and l1.num = l2.num

and l2.num = l3.num

Leetcode 180 連續出現的數字

詳細見 leetcode 題目總結 sql 編寫乙個 sql 查詢,查詢所有至少連續出現三次的數字。id num 1 1 2 1 3 1 4 2 5 1 6 2 7 2 例如,給定上面的 logs 表,1 是唯一連續出現至少三次的數字。consecutivenums 1 create table i...

LeetCode 180 連續出現的數字

編寫乙個 sql 查詢,查詢所有至少連續出現三次的數字。id num 1 1 2 1 3 1 4 2 5 1 6 2 7 2 例如,給定上面的logs表,1 是唯一連續出現至少三次的數字。consecutivenums 1 先總結方法 使用自連線,3個表連線 如果連續出現1000次,這個方法就不行了...

leetcode解題小記180 連續出現的數字

連續出現的數字 sql架構 編寫乙個 sql 查詢,查詢所有至少連續出現三次的數字。id num 1 1 2 1 3 1 4 2 5 1 6 2 7 2 例如,給定上面的 logs 表,1 是唯一連續出現至少三次的數字。consecutivenums 1 行與行之間的關係,又是 連續 考慮用lag ...