SQL запросы к базе данных. Часть #2.

Агрегатные функции
Когда нам нужно получить сумму, максимальное, минимальное или среднее значение хранящихся в базе данных чисел, то мы используем агрегатные функции. Большинство систем управления базами данных поддерживают 5 агрегатных (математических) функций.
SUM рассчитывает сумму
Вычислим сумму полей «Quantity» в таблице «OrderDetails».

Пишем слово SELECT, а затем название агрегатной функции SUM(). В скобках указываем, значения какого столбца мы хотим суммировать. Дальше пишем оператор FROM и имя таблицы.
SELECT SUM(Quantity)
FROM OrderDetails;
Функция SUM() вернула общую сумму указанного столбца.

MAX рассчитывает максимальное значение
Найдем с помощью оператора MAX() самую большую стоимость продукта.

SELECT MAX(Price)
FROM Products;
Функция MAX нашла цену самого дорогого продукта в столбце Price из таблицы Products.

MIN рассчитывает минимальное значение
Найдем с помощью оператора MIN() самую маленькую стоимость продукта.
SELECT MIN(Price)
FROM Products;
Функция MIN нашла цену самого дешевого продукта в столбце Price из таблицы Products.

COUNT подсчитывает количество значений
Функция COUNT() возвращает количество строк, которое соответствует заданному критерию. Давайте выведем общее количество товаров, хранящихся в базе данных. Проще всего подсчитать количество продуктов по ID.
SELECT COUNT(ProductID)
FROM Products;

AVG рассчитывает среднее значение
Функция AVG() возвращает среднее значение чисел в указанном столбце.
SELECT AVG(Price)
FROM Products;

Группировка данных Group By
Ключевое слово Group By чаще всего используется вместе с агрегатными функциями, чтобы группировать столбцы по тому или иному признаку. Например, нам нужно подсчитать количество клиентов в базе из каждой страны по отдельности.

Пишем оператор SELECT и рассчитываем количество клиентов по столбцу CustomerID для каждой страны и группируем результат расчета по странам. Например из Аргентины у нас 3 клиента, а из Бельгии - 2 клиента.
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country;

Упорядочим наш список и отсортируем клиентов в порядке убывания. Нам нужно знать, в каких странах живет всех больше клиентов.
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
ORDER BY COUNT(CustomerID) DESC;
Всех больше клиентов проживает в USA.

-
-
Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.