You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL:获取最新X条记录后按property_id分组统计的查询方案

解决PostgreSQL分组统计最新X条记录的问题

问题分析

你原本的SQL语句存在两个核心问题:

  1. 逻辑顺序错误:应该先获取最新的X条记录,再对这些记录分组统计,但你先执行了分组操作,得到的是全量数据的分组结果,而非最新X条记录的统计。
  2. 违反分组规则:分组后created_on_utc字段既不在GROUP BY子句中,也未被聚合函数处理,PostgreSQL无法确定用该字段的哪个值来排序,因此抛出错误(错误信息里的pa.created_at是笔误,实际对应表字段created_on_utc)。

正确SQL写法

通过子查询先筛选出最新的X条记录,再对这些记录进行分组统计:

SELECT property_id, COUNT(id) AS record_count
FROM (
    -- 先获取最新的X条记录,将1000替换为你需要的具体数量
    SELECT id, property_id
    FROM adjustments
    ORDER BY created_on_utc DESC
    LIMIT 1000
) AS latest_records
GROUP BY property_id
-- 可选:按统计数量从多到少排序
ORDER BY record_count DESC;

说明

  • 子查询部分通过ORDER BY created_on_utc DESC和LIMIT筛选出最新的X条记录,确保后续统计的是目标数据集。
  • 外层查询对筛选后的记录按property_id分组,用COUNT(id)统计每组的记录数量。

内容的提问来源于stack exchange,提问作者user23499875

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 17:12:10