156
Глава 8. Группировка и агрегаты
Агрегатные функции
Агрегатные функции осуществляют определенную операцию над все
ми строками группы. Хотя у всех серверов БД есть собственные набо
ры специализированных агрегатных функций, большинством из них
реализованы следующие общие агрегатные функции:
Max()
Возвращает максимальное значение из набора.
Min()
Возвращает минимальное значение из набора.
Avg()
Возвращает среднее значение набора.
Sum()
Возвращает сумму значений из набора.
Count()
Возвращает количество значений в наборе.
Вот запрос, использующий все обычные агрегатные функции для ана
лиза доступных остатков (available balance) всех текущих счетов:
mysql>
SELECT MAX(avail_balance) max_balance,
> MIN(avail_balance) min_balance,
> AVG(avail_balance) avg_balance,
> SUM(avail_balance) tot_balance,
> COUNT(*) num_accounts
> FROM account
> WHERE product_cd = 'CHK';
++++++
| max_balance | min_balance | avg_balance | tot_balance | num_accounts |
++++++
| 385527.05 | 122.37 | 7300.800985 | 73008.01 | 10 |
++++++
1 row in set (0.09 sec)
Результаты этого запроса сообщают о том, что из десяти текущих сче
тов таблицы
account
максимальный остаток составляет 38 552,05 дол
ларов, минимальный остаток – 122,37 долларов, средний остаток –
7 300,80 долларов, а общий остаток (баланс) по всем десяти счетам –
73 008,01 долларов. Надеюсь, теперь роль данных агрегатных функ
ций вам ясна; возможности применения этих функций подробно рас
смотрены в следующих разделах.
Достарыңызбен бөлісу: