根据 SQL Server 中的条件进行计数

2021-12-10 00:00:00 sql tsql sql-server

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

Does anyone know how can I do a count in SQL Server based on condition.

示例:

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

How can I do a column count for records with name 'system', and total CaseID records in the table?

客户表

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...

Use SUM/CASE...

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

相关文章