複製を取得するには、次のT-SQLを使用できます。
SELECT ID, Seq FROM MyTable GROUP BY ID, Seq HAVING COUNT(Seq) > 1
編集
欠落しているシーケンス番号を見つけるために、njr101によって提供されるコードを次のように更新しました。
SELECT ID, Seq FROM MyTable t1 WHERE ID IN (
SELECT ID FROM MyTable
GROUP BY ID
HAVING COUNT(DISTINCT Seq) <> MAX(Seq)
) AND t1.seq <> 1 AND NOT EXISTS (
SELECT * FROM MyTable t2 WHERE t2.id=t1.id AND t2.seq = t1.seq - 1
)
ORDER BY ID
最初のサブクエリは、そのIDの個別の行の数をカウントします(重複を無視します)。その数が結果セットに含まれる最大数と同じである場合、そのIDの値は問題ないはずです。等しくない場合、結果はサブクエリで利用可能になります。
2番目の部分(njr101のクエリを使用)では、結果セットをフィルタリングして、欠落している値を挿入する必要がある最後のIDとseqのみを含めます。以下の結果:
My Data
=========
A 1
A 2
A 3
A 20 <--- Missing (displayed in results)
B 1
B 2
B 3
B 3
B 4
C 1
C 2
C 4 <--- Missing (displayed in results)
C 5
C 15 <--- Missing (displayed in results)
C 16
Results
=======
A 20
C 4
C 15