LoginSignup
0
1

More than 1 year has passed since last update.

[SQL] LeetCodeの無料問題集を活用して、SQLを使いこなし(4)

Last updated at Posted at 2021-05-04

Q180 Consecutive Numbers

Q180.png

質問

少なくとも3回連続して表示される数値を検索します。

Code書き方のHint

連続表示される数値を探すので、1行目の数字は2行目、3行目の数字と比較して、一致すれば、その数字は求められるのです。
数字の後ろの値を取得するため、ここはLEAD関数を使います。

REF:https://dev.mysql.com/doc/translation-refman/8.0/ja/functions.html#function_lead

LEAD(expr [, N[, default]]) [null_treatment] over_clause

LEAD関数: n個後の行を取得する
LEAD(列名,n行) over(...)

Code

SELECT DISTINCT Num AS ConsecutiveNums 
FROM(SELECT Num,
    LEAD(Num,1)over()as Num1,
    LEAD(Num,2)over()as Num2
    FROM Logs) T
WHERE T.Num=T.Num1 AND T.Num=T.Num2;

Result

Q180_result.png

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1