Leetcode 180 連續出現的數字

2021-09-12 02:57:11 字數 1801 閱讀 6190

詳細見: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

ifnot

exists logs (id int

,num int);

truncate

table logs;

insert

into logs (id, num)

values

('1'

,'1');

insert

into logs (id, num)

values

('2'

,'1');

insert

into logs (id, num)

values

('3'

,'1');

insert

into logs (id, num)

values

('4'

,'2');

insert

into logs (id, num)

values

('5'

,'1');

insert

into logs (id, num)

values

('6'

,'2');

insert

into logs (id, num)

values

('7'

,'2'

);

那麼由於需要找三次相同數字,所以我們需要建立三個表的例項,我們可以用l1分別和l2, l3內交,l1和l2的id下乙個位置比,l1和l3的下兩個位置比,然後將num都相同的數字返回。

注意:select distinct l1.num as consecutivenums保證當連續的數字大於3個的時候,返回的還是乙個num

# write your mysql query statement below

select

distinct l1.num as consecutivenums

from logs l1

left

join logs l2

on l1.id = l2.id -

1left

join logs l3

on l1.id = l3.id -

2where l1.num = l2.num and l1.num = l3.num;

詳細見:leetcode 題目總結 - sql

LeetCode 180 連續出現的數字

題目 編寫乙個 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 新增表...

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 ...