如何获得每组的第二行

时间:2017-05-01 12:13:30

标签: sql postgresql

我有2组不同的lat和long这两组数据我想要每个lat只有第二行,long 例如。 18.08和72.5我想要40  和20.18 abd 79.22我想要21

以下输入是其他查询的结果输出请让我知道如何实现这个

 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 个答案:

答案 0 :(得分:2)

您可以使用窗口函数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;