sql - SQL Server中根据条件进行计数

标签 sql sql-server tsql count conditional-statements

有谁知道如何在 SQL Server 中根据条件进行计数。

示例:

如何对表中名称为“system”的记录以及 CaseID 记录总数进行列计数?

客户表

UserID     CaseID     Name
1          100        alan
1          101        alan
1          102        amy
1          103        system
1          104        ken
1          105        ken
1          106        system  

结果将显示如下:

UserID    TotalCaseID    TotalRecordsWithSystem
1         7              2

最佳答案

使用 SUM/CASE...

SELECT
    COUNT(*),  --total
    SUM(CASE WHEN name = 'system' THEN 1 ELSE 0 END) --conditional
FROM
    myTable

关于sql - SQL Server中根据条件进行计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3455201/

相关文章:

sql - 获取SQL中WHERE条件的最后一条记录

database - 主设备丢失且有效转储不存在(SYBASE ASE 15.0)

sql-server - 从 MS SQL 数据库中存储的用户代理数据中过滤浏览器信息

sql - 使用 DateTime WHERE 子句查询大表

sql - 如何处理 MySQL 函数 md5 的输入?

sql - Psql - 生成带有运行总计的系列

mysql - 在更新期间只为我的查询锁定表?

mysql - 在 MySQL 中使用带变量的 SELECT 语句创建表

sql - 递归查询 CTE

sql-server - 我可以计算{(过去时间的非空值总和)/# of non-NULL}吗?