Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何通过_Sql_Postgresql - Fatal编程技术网

Sql 如何通过

Sql 如何通过,sql,postgresql,Sql,Postgresql,我有两组数据,有两个不同的lat和long,每个lat和long只需要第二行 18.08和72.5我想要40 20.18和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

我有两组数据,有两个不同的lat和long,每个lat和long只需要第二行 18.08和72.5我想要40 20.18和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   
depth lat long
35    18.08    72.5    

40 18.08 72.5--您可以使用窗口功能
行数
轻松完成此操作:

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

long需要使用“按lat划分”例如按lat划分,longI认为,最好在(按lat划分,按深度长排序)上添加行数()作为rn,因为可能有相同的lat但不同的long。但在您的情况下,行号不会改变。因此有可能得到错误的结果。让我知道你对此的想法。