我正在使用Postgres,并希望创建一个聚合函数来返回最近n个最近的记录(根据另一列)。这可能吗?如果是这样,我该怎么做?或者不这样做会更好吗?
寻找类似select sum(col1) as a, last_n(col2, 5, created_date) as b from ...
'
b
将是一个包含5个元素的数组。
答案 0 :(得分:2)
您可以使用 uncorrelated 子查询:
SELECT sum(col1) as a
,ARRAY(
SELECT col2
FROM tbl t2
ORDER BY t2.created_date DESC
LIMIT 5) AS b
FROM tbl t1;