使用 group by 聚合的 postgres 查询解释
Posted
技术标签:
【中文标题】使用 group by 聚合的 postgres 查询解释【英文标题】:postgres query explanation for aggregate with group by 【发布时间】:2017-02-22 12:34:04 【问题描述】:SELECT AVG(CAST(overview ->> 'keywords' AS INTEGER )) FROM 报告 按域分组;
我在现有项目中有这个。我需要知道这个查询到底在做什么以及它是如何完成的?
overview 是一个 JSON 字段,keywords 只是一个整数值。
【问题讨论】:
【参考方案1】:它依次扫描整个reports
表,解除overview
列并获取domain
列,从overview
中提取keywords
属性并将其转换为整数,将结果按@ 分组987654326@ 并计算每组整数值的平均值。
【讨论】:
那么它应该返回每个组的平均值,对吗?还是单个平均值? 我还有一个问题。需要从reports
中找到 json 字段 keywords
的平均值,并且应该是 unique 字段 domain
和最新字段 ceated_at
是的,它会为每组返回一个平均值。我不明白你的第二个问题。您应该阅读有关 SQL 的信息(我推荐 PostgreSQL 手册来介绍 SQL),如果您有一个具体的问题(举例说明您的意思),请提出一个新问题。以上是关于使用 group by 聚合的 postgres 查询解释的主要内容,如果未能解决你的问题,请参考以下文章