Есть таблица departments, в ней есть отделы и сотрудники.
В поле gender цифрами помечается пол сотрудника: 1 - мужской, 0 - женский
Необходимо написать варианты запросов, которые позволят получить данные о мужчинах и женщинах в каждом департаменте.
<?
// First variant
SELECT
department_id,
gender
FROM departments
GROUP BY department_id, gender
/*
Не очень удобный способ для построения графика
Вывод:
ИТ 0
ИТ 1
БУХ 0
*/
?>
Рассмотрим еще один запрос
<?
// Second variant
SELECT
department_id,
SUM(IF(gender=0,1,0)) as male,
SUM(IF(gender=1,1,0)) as female
FROM departments
GROUP BY department_id
/*
department male female
ИТ 1 2
БУХ 1 0
*/
?>
В качестве третьего способа можно попробовать извратиться и посчитать общее кол-во в департаменте и кол-во какого-то одного пола, после чего вычесть одно из другого.
|