gpt4 book ai didi

node.js - PostgreSQL 根据分组数据统计数据

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

我有一个看起来像这样的数据库

users
email name state id
bill@domain.com Bill CA 1
Susan WY 2
jill@domain.com Jill CA 3
phil@domain.com Phil WY 4

您会注意到 Susan 没有电子邮件。

我正在尝试获取每个州的记录数,然后是每个州的非空电子邮件总数。

我能够像这样获得状态的总数:

SELECT 状态,COUNT(*) as count FROM users GROUP BY state

效果很好。

然后我尝试获取这样的电子邮件总数:

SELECT state, COUNT(*) 作为计数,COUNT(SELECT * FROM users WHERE email IS NOT NULL) as email_count FROM users GROUP BY state

但是返回了一个解析语法错误。

我正在尝试获取这样的返回数据集:

[
{state: 'CA', count: 2, email_count: 2},
{state: 'WY', count: 2, email_count: 1}
]

最佳答案

试试这个!

SELECT 
state,
COUNT(*) AS total_count,
SUM(CASE WHEN email is not null then 1 ELSE 0 END) AS count_email_not_null
FROM users
GROUP BY state

它将为您提供预期的输出。

关于node.js - PostgreSQL 根据分组数据统计数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54640449/

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