Перейти к содержанию

Агрегатные функции

Агрегатная функция используется в DQL-командах для получения единственного результата из набора входных значений.

Синтаксис

AVG COUNT MAX MIN SUM TOTAL ( DISTINCT expression GROUP_CONCAT ( expression , ' string ' )

Выражение

Диаграмма

NOT table . column literal case cast current_date substr to_char to_date trim NOT EXISTS ( dql ) ( dql ) ( expression , ) IS NOT NULL expression NOT BETWEEN expression AND + - * / <> != >= > <= < = NOT IN || AND OR expression

Литерал

Диаграмма

TRUE FALSE NULL decimal double integer string unsigned $ unsigned ?

Функции

Поддерживаются следующие агрегатные функции:

  • AVG — среднее значение;
  • COUNT — количество значений в колонке;
  • MIN — минимальное значение;
  • MAX — максимальное значение;
  • SUM — сумма значений (если строк нет, возвращает NULL);
  • TOTAL — сумма значений (если строк нет, возвращает 0);
  • GROUP_CONCAT — соединяет строковые значения выражений с помощью разделителя.

Параметры

  • DISTINCT — возвращает только уникальные значения выражений.

Примеры

Тестовые таблицы

Примеры использования команд включают в себя запросы к тестовым таблицам.

Подсчет общего числа товаров на складе:

SELECT SUM(stock) FROM items;

Получение строки из имен, соединенных через запятую:

SELECT GROUP_CONCAT(name, ', ') FROM items;

Вывод в консоль:

+------------------------------------------------+
| COL_1                                          |
+================================================+
| "metalware, adhesives, moldings, bars, blocks" |
+------------------------------------------------+
(1 rows)