gpt4 book ai didi

sql - PostgreSQL 中的 GROUP BY 和 COUNT

转载 作者:行者123 更新时间:2023-11-29 11:06:57 25 4
gpt4 key购买 nike

查询:

SELECT COUNT(*) as count_all, 
posts.id as post_id
FROM posts
INNER JOIN votes ON votes.post_id = posts.id
GROUP BY posts.id;

在 Postgresql 中返回 n 条记录:

 count_all | post_id
-----------+---------
1 | 6
3 | 4
3 | 5
3 | 1
1 | 9
1 | 10
(6 rows)

我只想检索返回的记录数:6

我使用子查询来实现我想要的,但这似乎不是最佳选择:

SELECT COUNT(*) FROM (
SELECT COUNT(*) as count_all, posts.id as post_id
FROM posts
INNER JOIN votes ON votes.post_id = posts.id
GROUP BY posts.id
) as x;

我如何在 PostgreSQL 中获取此上下文中的记录数?

最佳答案

我认为您只需要 COUNT(DISTINCT post_id) FROM votes

参见 http://www.postgresql.org/docs/current/static/sql-expressions.html 中的“4.2.7. 聚合表达式”部分.

编辑:根据 Erwin 的评论纠正了我粗心的错误。

关于sql - PostgreSQL 中的 GROUP BY 和 COUNT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11807386/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com