Sql 如何通过
我有两组数据,有两个不同的lat和long,每个lat和long只需要第二行 18.08和72.5我想要40 20.18和79.22我要21 以下输入是其他查询的结果输出,请让我知道如何实现这一点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
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。但在您的情况下,行号不会改变。因此有可能得到错误的结果。让我知道你对此的想法。