Ответ 1
Используйте SUM/CASE...
SELECT
COUNT(*), --total
SUM(CASE WHEN name = 'system' THEN 1 ELSE 0 END) --conditional
FROM
myTable
Кто-нибудь знает, как я могу сделать счет в SQL Server на основе условия.
Пример:
Как я могу выполнить подсчет столбцов для записей с именем "система" и итоговые записи 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
Результат будет отображаться следующим образом:
UseeID TotalcaseID TotalRecordsWithSystem
1 7 2
Используйте SUM/CASE...
SELECT
COUNT(*), --total
SUM(CASE WHEN name = 'system' THEN 1 ELSE 0 END) --conditional
FROM
myTable
Я думаю, он хотел получить идентификатор пользователя в результатах
SELECT
userid,
COUNT(*) as TotalcaseID, --total
SUM(CASE WHEN name = 'system' THEN 1 ELSE 0 END) as TotalRecordsWithSystem
FROM
myTable
group by userid
select
userid,
count('x') as TotalCaseID,
count(case when name = 'system' then 'x' else null end) as TotalRecordsWithSystem
from CustomerTable
group by userid