Команды обработки данных
Поиск среднего значения и суммы
Суммирование значений столбца с помощью функции SUM
Агрегатная функция SUM() вычисляет общую сумму значений в столбце. Для этого необходимо задать имя столбца, которое должно быть помещено внутри скобок.
Давайте посмотрим, сколько компания BigFoot тратит на зарплату своих сотрудников.
select SUM(salary) from employee_data;
На рис. 7.7. приведен результат запроса.
Аналогично можно вывести общую сумму надбавок, выдаваемых сотрудникам.
select SUM(perks) from employee_data;
На рис. 7.8. приведен результат запроса.
Можно найти также общую сумму зарплаты и надбавок.
select sum(salary) + sum(perks) from employee_data;
На рис. 7.9. приведен результат запроса.
Здесь показаны также дополнительные возможности команды SELECT. Значения можно складывать, вычитать, умножать или делить. В действительности можно записывать полноценные арифметические выражения.
Вычисление среднего значения
Агрегатная функция AVG() используется для вычисления среднего значения данных в столбце.
select avg(age) from employee_data;
На рис. 7.10. приведен результат запроса.
Пример выше вычисляет средний возраст сотрудников компании BigFoot, а следующий выводит среднюю зарплату.
select avg(salary) from employee_data;
На рис. 7.11. приведен результат запроса.
Задания
- Вывести сумму всех возрастов сотрудников, работающих в компании BigFoot.
- Как вычислить общее количество лет стажа работы сотрудников в компании BigFoot?
- Вычислите сумму зарплат и средний возраст сотрудников, которые занимают должность "программист".
- Что делает следующий оператор?
select (SUM(perks)/SUM(salary) * 100) from employee_data;
Возможные решения
1. mysql> select SUM(age) from employee_data;
На рис. 7.12. приведен результат запроса.
2. mysql> select SUM(yos) from employee_data;
На рис. 7.13. приведен результат запроса.
3. mysql> select SUM(salary), AVG(age) -> from employee_data where -> title = 'программист';
На рис. 7.14. приведен результат запроса.
4. Этот оператор выводит процент зарплаты, который сотрудники BigFoot получают в качестве надбавок.
mysql> select (SUM(perks)/SUM(salary) * 100) -> from employee_data;
На рис. 7.15. приведен результат запроса.