7

TOWN が一致する ID1 値が (2 つ以上の) 連続しているレコードを選択するにはどうすればよいですか?

私のテーブル

TOWN    ID1
town1   1
town1   2
town1   4 
town2   1
town2   5 
town2   8 
town3   1 
town3   2 
town3   3 

必要な結果

TOWN    ID1
town1   1
town1   2
town3   1 
town3   2 
town3   3 

SQLフィドル

http://sqlfiddle.com/#!2/b409f/26

4

2 に答える 2

3

id1質問が「町に隣接するフィールドを持つすべての行を教えてください」である場合は、次のようにします。

select distinct t1.*
from Table1 t1
join Table1 t2 on t2.town = t1.town and ABS(t1.ID1 - t2.ID1) = 1
order by 1, 2

これについては、 SQLFiddleを参照してください。


別の列でも一致させるには、結合に条件を追加します。

select distinct t1.*
from Table1 t1
join Table1 t2
  on t2.town = t1.town
  and t2.state = t1.state
  and ABS(t1.ID1 - t2.ID1) = 1
order by 1, 2
于 2013-09-18T14:37:38.367 に答える