You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL SELECT查询如何新增带过滤条件的企业注册数统计列

解决方案

你只需在现有SELECT列表中新增一列条件聚合统计项即可,无需调整分组逻辑,也不需要使用JOIN,用CASE WHEN配合聚合函数就能实现企业注册数的统计,修改后的语句如下:

SELECT 
  DATE_PART('month', signup_date) AS signup_month,
  COUNT(signup_email) AS total_signups,
  SUM(CASE WHEN signup_email = 'business' THEN 1 ELSE 0 END) AS business_signups,
  SUM(users) AS total_users
FROM signups
GROUP BY signup_month;

逻辑说明

  • 上述新增列的逻辑是先通过CASE WHEN对每行数据做判断:如果signup_email的值为business则返回1,否则返回0,再通过SUM求和,最终得到当月符合条件的企业注册总数
  • 你也可以用COUNT实现等价逻辑:COUNT(CASE WHEN signup_email = 'business' THEN 1 END) AS business_signups,COUNT会自动忽略CASE语句返回的NULL值,统计结果和SUM写法完全一致
  • 如果你需要统计跨年度的月份数据,避免不同年份的同月份被合并,可以把DATE_PART('month', signup_date)替换为DATE_TRUNC('month', signup_date)::DATE,会返回如2024-01-01的月份首日格式,统计维度更准确

内容的提问来源于stack exchange,提问作者SR20DET

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 04:03:02