【问题标题】:postgres query explanation for aggregate with group by使用 group by 聚合的 postgres 查询解释
【发布时间】:2017-02-22 12:34:04
【问题描述】:

SELECT AVG(CAST(overview ->> 'keywords' AS INTEGER )) FROM 报告 按域分组;

我在现有项目中有这个。我需要知道这个查询到底在做什么以及它是如何完成的?

overview 是一个 JSON 字段,keywords 只是一个整数值。

【问题讨论】:

    标签: postgresql ruby-on-rails-4 postgresql-9.4


    【解决方案1】:

    它依次扫描整个reports 表,解除overview 列并获取domain 列,从overview 中提取keywords 属性并将其转换为整数,将结果按@ 分组987654326@ 并计算每组整数值的平均值。

    【讨论】:

    • 那么它应该返回每个组的平均值,对吗?还是单个平均值?
    • 我还有一个问题。需要从 reports 中找到 json 字段 keywords 的平均值,并且应该是 unique 字段 domain 和最新字段 ceated_at
    • 是的,它会为每组返回一个平均值。我不明白你的第二个问题。您应该阅读有关 SQL 的信息(我推荐 PostgreSQL 手册来介绍 SQL),如果您有一个具体的问题(举例说明您的意思),请提出一个新问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-20
    • 2021-12-03
    • 2017-08-17
    • 1970-01-01
    相关资源
    最近更新 更多