Q180 Consecutive Numbers
質問
少なくとも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;