SQL | Сортировка / Агрегатные Функции



Из слова сортировка думаю понять, о чем идет речь, что касается агрегатных функций - это залупа, но на практике проще понять, смотрим



Для сортировки юзается ORDER BY (добавить можно ASC для сортировки данных по возрастанию или DESC для убывания)



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

COUNT
- выводит количество записей / данных. Например количество товаров в какой-то категории или группе категорий

SUM - прибавляет значения и выводит их количество. Например общую цену на все товары в одной или группе категорий

MAX - выводит максимальное значение. Вывод товара с самой большой ценой - как пример

MIN - аналог MAX, но ток минимальное значение

AVG - используется для вывода среднего значения. Вывод среднего значения рейтинга для товара по подсчету отзывов в комментариях например



Вся эта ебала с агрегатными функциями юзается, чаще всего, в паре с группировкой GROUP BY - выводятся несколько значений, которые группирируются по полю, указанному после GROUP BY



А для дополнительной фильтрации значений после группировки, юзается HAVING, а не WHERE. Потому что механизм СУБД устроен так, что фильтрация WHERE проводится поверх группировки, из-за чего выскочит ошибка, а HAVING ожидает окончания группировки и на основе текущих данных проводит доп.фильтры (ближе рассмотрим в разделе с объединением данных таблиц)



Также есть такая фильтрация:

BETWEEN от AND до - диапозон выводит, ну и фильтры AND / OR / IF