-3
ID Flag
1000 0
1000 1
1000 1
1000 1
1000 1
1000 0
2000 0
2000 1
2000 0
2000 1
2000 0
SQL Serverの "フラグ"列に少なくとも3つ連続する "1"がある場合、IDにフラグを付ける列を追加します。SQL Serverで列の連続する行が同じ値を持つ場合にフラグを付ける
ID Flag
1000 0
1000 1
1000 1
1000 1
1000 1
1000 0
2000 0
2000 1
2000 0
2000 1
2000 0
SQL Serverの "フラグ"列に少なくとも3つ連続する "1"がある場合、IDにフラグを付ける列を追加します。SQL Serverで列の連続する行が同じ値を持つ場合にフラグを付ける
これが役立ちます。それはあなたが求めているものに似ているようで、あなたを正しい道に導くかもしれません。 Find records with 3 or more consecutive records with same value
だから、これと似たような多分
CREATE TABLE Table1 (
id int,
flag bit)
INSERT into Table1 (id,flag)
VALUES (1000,0),(1000,1),(1000,1),(1000,1)
SELECT t.*
FROM (SELECT t.*, count(*) over (partition by ID) as cnt
FROM (SELECT table1.*,
(row_number() over (partition by id order by flag)
) as grp
from table1
) t
WHERE flag = 1
) t
WHERE cnt >= 3;
はここにあなたの予想される出力は何ですか? –
実際のシーケンスのフィールドはありますか? –
テーブルにさらにデータがありますか?表示したデータに基づいて、どのレコードが連続しているかを判断するためにデータを並べる方法はありません。 – Diado