几何类型的替代 First() 函数

问题描述

我有一个 ID 重复的表,我正在做一个分组以消除它们。不可分组的唯一值是 geom 列(几何类型)的值。对于此列,我尝试将 FirsT () 作为聚合方法,但它向我输出错误

错误函数 first(geometry) 不存在。

我也尝试了 MIN () 函数,但它以文本类型向我输出geom 的数据。

您知道在几何类型中使用 FirsT () 函数的任何替代方法吗?

谢谢!

解决方法

Postgres 中没有 first() 函数。您或许可以使用 first_value():

select distinct col,first_value(geo) over (partition by col order by dt)
from t;

或者数组方法应该可以工作:

select col,(array_agg(geo order by dt))[1]
from t
group by col