Опубликован: 16.01.2007 | Уровень: для всех | Доступ: свободно
Лекция 7:
Команды обработки данных
Сортировка данных
Теперь давайте найдем и выведем число сотрудников, имеющих различные должности, и отсортируем их с помощью ORDER BY.
select title, count(*) AS Number from employee_data GROUP BY title ORDER BY Number;
На рис. 7.22. приведен результат запроса.
Задания
- Подсчитайте число сотрудников, которые проработали в BigFoot более трех лет.
- Подсчитайте количество сотрудников в группах одного возраста.
- Измените предыдущее задание так, чтобы возраст выводился в убывающем порядке.
- Найдите средний возраст сотрудников в различных подразделениях (должностях).
- Измените предыдущий оператор так, чтобы данные выводились в убывающем порядке среднего возраста.
Возможные решения
1. mysql> select count(*) from employee_data -> where yos > 3;
На рис. 7.23. приведен результат запроса.
2. mysql> select age, count(*) -> from employee_data -> GROUP BY age;
На рис. 7.24. приведен результат запроса.
3. mysql> select age, count(*) -> from employee_data -> GROUP BY age -> ORDER by age DESC;
На рис. 7.25. приведен результат запроса.
4. mysql> select title, AVG(age) -> from employee_data -> GROUP BY title;
На рис. 7.26. приведен результат запроса.
5. mysql> select title, AVG(age) -> AS 'средний возраст' -> from employee_data -> GROUP BY title -> ORDER BY 'средний возраст' DESC;
На рис. 7.27. приведен результат запроса.
Примечание: Нам нужно задать псевдо-имя для столбца, содержащего среднее значение возраста, чтобы его можно было сортировать.