MySQL Query Issue - PullRequest
       11

MySQL Query Issue

0 голосов
/ 01 мая 2011

У меня есть текущие настройки базы данных:

Forename | Surname | Department | Completion_Status
Tom        Smith     Sales        Started
Bob        Jones     Sales        Completed
Alison     Baines    Sales        Not Started
Arthur     Smith     Marketing    Started
Claire     Staines   Marketing    Completed

Я могу без проблем вернуть общее количество строк и общее число, в котором статус завершения установлен как Запущено или Завершено, но не в одном выражении.- однако в одном утверждении я хотел бы сделать следующее:

COUNT for Department As Total AND the COUNT for Department As Responses WHERE Completion_Status IN ('Started', 'Completed')

Это будет выглядеть примерно так:

Department | Total | Responses
Sales        3       2
Marketing    2       2

Надеюсь, что это имеет смысл!?

Спасибо, Гомер.

Ответы [ 2 ]

1 голос
/ 01 мая 2011

ВЫБРАТЬ ОТДЕЛ, COUNT (dept) КАК всего, COUNT (complete_status) AS ответыОт результатовГДЕ завершение_статус IN («Запущено», «Завершено»)ГРУППА ПО ОТДЕЛУЗАКАЗАТЬ на dep

0 голосов
/ 01 мая 2011
select 
department,
count(department) as total,
sum(if(completion_status  IN ('Started', 'Completed'),1,0)) as responses
from table
group by department

Это более стандартная версия

select 
department,
count(department) as total,
sum(case when completion_status in ('Started', 'Completed') then 1 else 0 end ) as responses
from table
group by department
...