2017-05-01 18 views
1

2つの異なる緯度と経度を持つこの2つのデータセットがあります。緯度ごとに2番目の行のみを欲しいです。 18.08と72.5私は、入力、次の21各グループの2番目の行を取得する方法

は、他のクエリから結果の出力である私が欲しいABD 79.22 40 と20.18をしたいあなたは簡単にこの使用して窓関数を行うことができます私はこの

depth lat long  
    35 18.08 72.5  
    40 18.08 72.5 --<-- 
    45 18.08 72.5  
    50 18.08 72.5  
    55 18.08 72.5  
    60 18.08 72.5  
    9  20.18 79.22 
    21  20.18 79.22 --<-- 
    46  20.18 79.22 
    57  20.18 79.22 
    73  20.18 79.22 
    74  20.18 79.22 

答えて

1

を達成する方法を教えてくださいrow_number

select * 
from (
    select t.*, 
     row_number() over (
      partition by lat, long order by depth 
      ) as rn 
    from your_table t 
    ) t 
where rn = 2; 
+0

経度緯度によって、例えばパーティション「LATによってパーティション」で必要になります、私は、RNとして(深さによって緯度、長い順番によってパーティション)を超えるROW_NUMBER()を追加する方が良いだろうと思う –

+0

長いので、そこに可能性があります同じ緯度を持つが長さが異なる。しかし、あなたの場合、row_numberは変更されません。そのため、間違った結果を得るチャンスがあります。あなたの考えを教えてください。 –

関連する問題