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

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

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

Поиск среднего значения и суммы

Суммирование значений столбца с помощью функции SUM

Агрегатная функция SUM() вычисляет общую сумму значений в столбце. Для этого необходимо задать имя столбца, которое должно быть помещено внутри скобок.

Давайте посмотрим, сколько компания BigFoot тратит на зарплату своих сотрудников.

select SUM(salary) from employee_data;

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

Сумма всех зарплат

Рис. 7.7. Сумма всех зарплат

Аналогично можно вывести общую сумму надбавок, выдаваемых сотрудникам.

select SUM(perks) from employee_data;

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

Сумма всех надбавок

Рис. 7.8. Сумма всех надбавок

Можно найти также общую сумму зарплаты и надбавок.

select sum(salary) + sum(perks) from employee_data;

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

Общая сумма зарплаты и надбавок

Рис. 7.9. Общая сумма зарплаты и надбавок

Здесь показаны также дополнительные возможности команды SELECT. Значения можно складывать, вычитать, умножать или делить. В действительности можно записывать полноценные арифметические выражения.

Вычисление среднего значения

Агрегатная функция AVG() используется для вычисления среднего значения данных в столбце.

select avg(age) from employee_data;

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

Средний возраст сотрудников

Рис. 7.10. Средний возраст сотрудников

Пример выше вычисляет средний возраст сотрудников компании BigFoot, а следующий выводит среднюю зарплату.

select avg(salary) from employee_data;

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

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

Рис. 7.11. Средняя зарплата сотрудников

Задания

  1. Вывести сумму всех возрастов сотрудников, работающих в компании BigFoot.
  2. Как вычислить общее количество лет стажа работы сотрудников в компании BigFoot?
  3. Вычислите сумму зарплат и средний возраст сотрудников, которые занимают должность "программист".
  4. Что делает следующий оператор?
select (SUM(perks)/SUM(salary) * 100)
from employee_data;

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

1. mysql> select SUM(age) from employee_data;

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

Сумма всех возрастов сотрудников

Рис. 7.12. Сумма всех возрастов сотрудников

2. mysql> select SUM(yos) from employee_data;

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

Общее количество лет стажа работы сотрудников

Рис. 7.13. Общее количество лет стажа работы сотрудников
3. mysql> select SUM(salary), AVG(age)
    -> from employee_data where
    -> title = 'программист';

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

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

Рис. 7.14. Сумма зарплат и средний возраст программистов

4. Этот оператор выводит процент зарплаты, который сотрудники BigFoot получают в качестве надбавок.

mysql> select (SUM(perks)/SUM(salary) * 100)
    -> from employee_data;

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

Процент зарплаты, который сотрудники получают в качестве надбавок

Рис. 7.15. Процент зарплаты, который сотрудники получают в качестве надбавок
< Лекция 6 || Лекция 7: 1234 || Лекция 8 >
Александра Каева
Александра Каева
Диляра Кенжебай
Диляра Кенжебай