Категории
Задача на знание SQL
Как-то на собеседовании в одну крупную компанию (разработчик онлайн игр) задали задачку, которую я не смог решить на бумажке. Пришел домой и воспользовавшись консолью, методом проб и ошибок решил все-таки ее, оказалось все было несложно.
Вообщем хотел поделиться ею с моими читателями, может быть кто-то подскажет более шустрый вариант.
Суть задачи в следующем: Есть табличка сотрудников какой-то абстрактной компании, содержит поля: департамент, пол сотрудника и ненужные для нашей задачи поля типа имени, возраста и т.п. Нужно вывести результирующую таблицу в виде:department | M | F |
---|---|---|
id-департамента | Количество мужчин | Количество женщин |
SELECT
m.department, m.M, f.F
FROM (
SELECT department, COUNT(id) AS M
FROM departments dm
WHERE gender='m'
GROUP BY department
) AS m
LEFT JOIN (
SELECT department, COUNT(id) AS F
FROM departments dm
WHERE gender='f'
GROUP BY department
) AS f ON m.department=f.department
Информация | |||
---|---|---|---|
Автор | webmancer | Нравится | 0 |
Рейтинг | 1 | Не нравится | 0 |
Голосов | 1 | Прочитали | 1 |
Дата | 2011-11-17 09:00:00 | В избранном | 0 |
Ваша реакция |
Только авторизованные пользователи могут участвовать в рейтингах, делать заметки и добавлять в избранное. |
На рекомендательном сервисе WEBmancer.Org только зарегистрированные пользователи могут комментировать и оставлять рецензии. Авторизованный пользователь так же может ставить отметки книгам, фильмам и другим постам. Вести учет прочитанных книг и просмотренных фильмов. Добавлять посты в избранное и иметь к ним быстрый доступ.