2

4 つ、5 つ、または 6 つの連続する数字を含む行を検索するクエリを作成しようとしています。

例: テーブル MyNumbers には、1 から 52 までの数字の組み合わせの 6 つの列が含まれています。

Cloumn の名前は次のとおりです。 nbr1 nbr2 nbr3 nbr4 nbr5 nbr6

行 1 の内容: 1 5 43 50 51 52

行 2 には次が含まれます: 41 42 43 44 45 52 <----- 5 つの連続する数字

行 3 には次が含まれます: 8 14 38 39 42 50

行 4 の内容: 1 2 3 4 15 29 <----- 4 つの連続する数字

行 5 の内容: 8 14 24 36 48 51

行 6 の内容: 1 2 3 4 5 6 <----- 6 つの連続する数字

その行に4つ以上の連続した数字がある結果セットを含むことに基づいて、行2、4、および6を見つけるクエリを考え出す必要があります。

52 のうち 6 つの数字 (1 から 52) のすべての可能な組み合わせを含むデータベースを作成しました。私がやりたいのは、連続する数字が 4 つ以上ある行を削除することです。したがって、上記がうまくいくかどうかはわかりません。尋ねた人のために、私はSQL Server 2008 R2を使用しています。

4

1 に答える 1

3

数値は常に増加しており、繰り返されていないと仮定します

select *
  from mynumbers
 where nbr4 - nbr1 = 3
    or nbr5 - nbr2 = 3
    or nbr6 - nbr3 = 3

自由に単純化して、一連の 6 つの連続する数字の場合、一連の一連の 4 つの連続する数字が既に存在している必要があります。

于 2012-11-15T21:20:54.463 に答える