因此,当我意外地提到我的CTE中不存在的"计数"列时,我遇到了我认为是一个奇怪的错误.Postgres正在寻找GROUP BY子句,即使我不认为我在做聚合.多一点玩,看起来table.count相当于一个计数星函数.考虑以下:
SELECT
c.clinic_id,
c.count,
count(*) as count_star
FROM clinic_member c
GROUP BY
c.clinic_id
ORDER BY clinic_id;
Run Code Online (Sandbox Code Playgroud)
这将在我的数据集中生成如下所示的结果:
有兴趣了解Postgres的实际语法规则是什么,我尝试在文档中搜索对此语法的引用,但无法找到任何内容; 只有很多计数(*)的文档.任何人都可以解释这是否是有效的SQL以及是否还有其他聚合函数也可以类似地调用?Postgres文档的链接如果存在则会很棒.
注意.这是Postgres 9.5.9