← К оглавлению занятия

🔖 Справочник: Агрегирующие функции и GROUP BY

⚡ Минимум для запоминания

  • COUNT(*) — все строки; COUNT(column) — не NULL.
  • SUM(), AVG() — только числа.
  • MIN(), MAX() — числа, строки, даты.
  • GROUP_CONCAT() — объединение строк (MySQL).
  • GROUP BY — группировка; все неагрегированные столбцы в нём.

Агрегирующие функции

ФункцияНазначениеПример
COUNT(*)Все строкиSELECT COUNT(*) FROM orders;
COUNT(column)Строки без NULLSELECT COUNT(email) FROM customers;
COUNT(DISTINCT column)Уникальные не NULLSELECT COUNT(DISTINCT city) FROM employees;
SUM(column)СуммаSELECT SUM(quantity) FROM order_details;
AVG(column)СреднееSELECT AVG(unit_price) FROM order_details;
MIN(column)МинимумSELECT MIN(unit_price) FROM order_details;
MAX(column)МаксимумSELECT MAX(unit_price) FROM order_details;
GROUP_CONCAT(column)Объединение строк (MySQL)SELECT GROUP_CONCAT(first_name) FROM employees;

GROUP BY

КонструкцияОписаниеПример
GROUP BY columnГруппировка по одному столбцуGROUP BY city
GROUP BY 1, 2Группировка по порядковым номерамGROUP BY 1, 2
ORDER BY aggregate DESCСортировка по агрегатуORDER BY COUNT(*) DESC

Полный справочник

→ Справочник SQL