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

如何在SQL查询中同时统计活跃用户数与总用户数?

同一条SQL中同时统计活跃用户与总用户数

可以通过条件聚合函数实现单条SQL完成两个统计需求,无需拆分查询或使用子查询,主流关系型数据库(MySQL、PostgreSQL、SQL Server等)均支持该写法:

SELECT
  COUNT(DISTINCT CASE WHEN useractive = 1 THEN id END) AS activeusers,
  COUNT(DISTINCT id) AS totalusers
FROM users;

逻辑说明

  • COUNT(DISTINCT CASE WHEN useractive = 1 THEN id END):仅对useractive=1的用户去重统计ID,不符合条件的记录会返回NULL,而COUNT函数会自动忽略NULL值,最终得到活跃用户数。
  • COUNT(DISTINCT id):直接统计全表所有用户的去重ID数量,不受useractive状态限制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 08:42:01