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

如何使用SELECT COUNT按不同条件统计单表中多类数据

统计数据表中的试次、成功和失败次数

原数据表(假设表名为trials)

idstatusdate
1success2-Mar-25
1failed4-Apr-25
2success1-May-25
3success22-May-25
2NULL12-Jul-25
4NULL15-Jul-25

需求统计结果

total_trialsuccessfailed
631

实现SQL语句

通过聚合函数结合条件判断可直接查询得到目标结果,以下两种写法均有效:

写法一:SUM + CASE 组合

SELECT
  COUNT(*) AS total_trial,
  SUM(CASE WHEN status = 'success' THEN 1 ELSE 0 END) AS success,
  SUM(CASE WHEN status = 'failed' THEN 1 ELSE 0 END) AS failed
FROM trials;

写法二:COUNT + CASE 组合

SELECT
  COUNT(*) AS total_trial,
  COUNT(CASE WHEN status = 'success' THEN 1 END) AS success,
  COUNT(CASE WHEN status = 'failed' THEN 1 END) AS failed
FROM trials;

语句说明

  • COUNT(*):统计表内所有行数,对应总试次6次;
  • 针对success和failed字段:
    • 写法一中,CASE语句匹配到对应状态时返回1,否则返回0,SUM求和后得到对应状态的次数;
    • 写法二中,CASE语句匹配到对应状态时返回1,否则返回NULL,COUNT会自动忽略NULL值,因此仅统计符合条件的行数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 22:06:09