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):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.