次の形式のデータがあります。
match_id team_id won_ind
----------------------------
37 Team1 N
67 Team1 Y
98 Team1 N
109 Team1 N
158 Team1 Y
162 Team1 Y
177 Team1 Y
188 Team1 Y
198 Team1 N
207 Team1 Y
217 Team1 Y
10 Team2 N
13 Team2 N
24 Team2 N
39 Team2 Y
40 Team2 Y
51 Team2 Y
64 Team2 N
79 Team2 N
86 Team2 N
91 Team2 Y
101 Team2 N
ここでmatch_id
s は時系列で表示され、37 がチーム 1 の最初の試合で、217 が最後の試合です。won_ind
チームが試合に勝ったかどうかを示します。
したがって、上記のデータから、チーム 1 は最初の試合に負け、次に試合に勝ち、次に 2 試合に負け、次に 4 試合連続で勝ち、というようになります。今、私は各チームの最長連勝を見つけることに興味があります。
Team_id longest_streak
------------------------
Team1 4
Team2 3
plsqlでこれを見つける方法は知っていますが、純粋なSQLで計算できるかどうか疑問に思っていました. LEAD、LAG、および他のいくつかの機能を使用してみましたが、どこにも行きませんでした。
ここでサンプル フィドルを作成しました。