Postgresql 将分组行排序在聚合函数之前
我有一个带有点几何图形的postgis表格 积分表: 具有相同Postgresql 将分组行排序在聚合函数之前,postgresql,sql-order-by,aggregate-functions,postgis,Postgresql,Sql Order By,Aggregate Functions,Postgis,我有一个带有点几何图形的postgis表格 积分表: 具有相同uid的点是相同的目标。我正在尝试使用创建一个完整的目标行字符串 SELECT uid, ST_MakeLine(geom) FROM points GROUP BY uid 这是可行的,但我想确保各点的顺序正确。 我尝试在分组之前添加一个按日期排序的订单 SELECT uid, ST_MakeLine(geom) FROM points ORDER BY date <-- does not work GROUP BY uid
uid
的点是相同的目标。我正在尝试使用创建一个完整的目标行字符串
SELECT uid, ST_MakeLine(geom)
FROM points
GROUP BY uid
这是可行的,但我想确保各点的顺序正确。
我尝试在分组之前添加一个按日期排序的订单
SELECT uid, ST_MakeLine(geom)
FROM points
ORDER BY date <-- does not work
GROUP BY uid
ERROR: syntax error at or near "GROUP"
选择uid、stu生成线(geom)
从点
按日期排序是否可以在临时表中排序所需的数据,然后按uid进行外部分组
SELECT uid, ST_MakeLine(geom)
FROM
(
SELECT uid, geom
FROM points
ORDER BY date
) AS temp
GROUP BY uid
orderby
子句可以放在聚合参数的末尾
SELECT uid, ST_MakeLine(geom ORDER BY date)
FROM points
GROUP BY uid
ST_MakeLine
不应在子查询中。的可能重复项请查看文档:他们写道,在使用此函数的聚合版本时,您需要一个带有order by
的子查询。这里有一些例子说明如何做到这一点。
SELECT uid, ST_MakeLine(geom ORDER BY date)
FROM points
GROUP BY uid