Опубликован: 16.01.2007 | Уровень: для всех | Доступ: платный
Лекция 7:

Команды обработки данных

< Лекция 6 || Лекция 7: 1234 || Лекция 8 >

Сортировка данных

Теперь давайте найдем и выведем число сотрудников, имеющих различные должности, и отсортируем их с помощью ORDER BY.

select title, count(*) AS Number
from employee_data
GROUP BY title
ORDER BY Number;

На рис. 7.22. приведен результат запроса.

Количество сотрудников по должностям с сортировкой

Рис. 7.22. Количество сотрудников по должностям с сортировкой

Задания

  1. Подсчитайте число сотрудников, которые проработали в BigFoot более трех лет.
  2. Подсчитайте количество сотрудников в группах одного возраста.
  3. Измените предыдущее задание так, чтобы возраст выводился в убывающем порядке.
  4. Найдите средний возраст сотрудников в различных подразделениях (должностях).
  5. Измените предыдущий оператор так, чтобы данные выводились в убывающем порядке среднего возраста.

Возможные решения

1. mysql> select count(*) from employee_data
    -> where yos > 3;

На рис. 7.23. приведен результат запроса.

Число сотрудников, которые проработали более трех лет

Рис. 7.23. Число сотрудников, которые проработали более трех лет
2. mysql> select age, count(*)
    -> from employee_data
    -> GROUP BY age;

На рис. 7.24. приведен результат запроса.

Количество сотрудников в группах одного возраста

Рис. 7.24. Количество сотрудников в группах одного возраста
3. mysql> select age, count(*)
    -> from employee_data
    -> GROUP BY age
    -> ORDER by age DESC;

На рис. 7.25. приведен результат запроса.

Количество сотрудников в группах одного возраста с обратной сортировкой

Рис. 7.25. Количество сотрудников в группах одного возраста с обратной сортировкой
4. mysql> select title, AVG(age)
    -> from employee_data
    -> GROUP BY title;

На рис. 7.26. приведен результат запроса.

Средний возраст сотрудников по должностям

Рис. 7.26. Средний возраст сотрудников по должностям
5. mysql> select title, AVG(age)
    -> AS 'средний возраст'
    -> from employee_data
    -> GROUP BY title
    -> ORDER BY 'средний возраст' DESC;

На рис. 7.27. приведен результат запроса.

Средний возраст сотрудников по должностям с использованием псевдо-имени столбца

Рис. 7.27. Средний возраст сотрудников по должностям с использованием псевдо-имени столбца

Примечание: Нам нужно задать псевдо-имя для столбца, содержащего среднее значение возраста, чтобы его можно было сортировать.

< Лекция 6 || Лекция 7: 1234 || Лекция 8 >
Александра Каева
Александра Каева
Диляра Кенжебай
Диляра Кенжебай
Александр Смирнов
Александр Смирнов
Россия, Астрахань
Дмитрий Павлов
Дмитрий Павлов
Россия, Новокузнецк