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

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

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

Синтаксис

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

Выражение

Диаграмма

table . column expression IS NOT NULL OR AND * / + - = > < >= <= <> != expression NOT BETWEEN expression AND expression IN ( select values ) NOT EXISTS ( select values TO_DATE TO_CHAR ( expression , format TRIM ( LEADING TRAILING BOTH expression LEADING TRAILING BOTH FROM expression ( select values expression , ) literal cast NOT expression CURRENT_DATE CASE expression WHEN expression THEN expression ELSE expression END

Литерал

Диаграмма

TRUE FALSE NULL ? $ unsigned integer double decimal string

Функции

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

  • 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)