【发布时间】:2019-07-12 19:39:20
【问题描述】:
我有一个如下结构的表:
ID latitude longtitude other..columns
A12 54.55 -43.26 .
A21 57.00 -43.25 .
V51 54.55 -44.25 .
V51 54.50 -43.25 .
A12 55.11 -43.15 .
B43 50.16 -43.25 .
我按ID 对表格进行分组,并按平均值和最小值/最大值聚合其他列。
然而,当谈到纬度/经度时,我想通过任何聚合(最小值或最大值,无关紧要)选择一个纬度,并选择它的等效经度(例如 A12 -> 54.55&-43.26) ,而不是单独聚合为平均值或最小值/最大值。
是否有一种智能且简单的方法来构建此查询?
当前查询类似于:
select
avg(other_columns),
min(latitude),
?(longtitude)
from table
group by ID;
编辑:在 cmets 之后明确要求。
【问题讨论】:
-
没有“第一对可用”之类的东西,除非列指定了顺序。
-
"...the first pair available..." -- 由于表格行没有任何固有顺序,因此没有“第一”行。你需要告诉我们你的句子使用什么顺序才有意义。
-
没有指定顺序的列。假设我选择了最小纬度,我想选择它对应的经度。这就是我所说的配对(编辑问题以进行澄清)
标签: sql group-by gis amazon-redshift latitude-longitude