MySQL / 7. Формирование итогов

Системы управления базами данных удобны для хранения и извлечения записей; кроме того, они могут суммировать информацию, представляя ее в более сжатом виде. Итоговая информация необходима, когда вы хотите получить представление о чем-то в целом, не вдаваясь в детали. Суммарная информация обычно проще для восприятия, чем длинные списки записей. В можете получать ответы на вопросы типа «Сколько?», «Какова общая сумма?» или «Каков диапазон значений?» Если вы занимаетесь коммерческой деятельностью, вам может понадобиться информация о том, сколько у вас клиентов в каждом штате или каков ежемесячный объем продаж. Вы могли бы получить данные по штатам, выведя список записей о клиентах и подсчитав их самостоятельно, но это не имеет смысла, раз MySQL может все сделать сама. Не очень удобно для вычисления объема продаж вручную складывать суммы заказов, беря их из соответствующих строк. Положитесь на MySQL.
Статьи раздела '7. Формирование итогов':
Выбор групп только с определенными характеристиками
Задача Вы хотите вычислить итоги для групп, но результаты вывести только для групп, отвечающих определенным требованиям. Решение Используйте инструкцию HAVING. Обсуждение Вы уже умеете применять инструкцию WHERE для задан...
Группирование по результатам выражения
Задача Вы хотите объединить строки в подгруппу на основе значений, полученных в результате вычисления выражения. Решение Поместите выражение в инструкцию GROUP BY. В ранних версиях MySQL, не поддерживающих выражения в GROUP B...
Использование ключевого слова DISTINCT для удаления дубликатов
Задача Вы хотите узнать, какие значения входят в набор данных, не перечисляя повторяющиеся значения многократно. Или хотите узнать, сколько уникальных значений входит в множество. Решение Используйте ключевое слово DISTINCT д...
Итоги и значения NULL
Задача Суммируя набор значений, среди которых могут быть и значения NULL, вы хотите понять, как интерпретировать полученные результаты. Решение Осознайте, каким образом агрегирующие функции обрабатывают значения NULL. Обсу...
Итоги по датам
Задача Вы хотите выводить итоговую информацию для значений даты или времени. Решение Используйте инструкцию GROUP BY для разбиения значений времени на диапазоны нужного размера. Часто для извлечения значащих составляющих даты...
Классификация некатегориальных данных
Задача Вам необходимо получить итоговую информацию для набора значений, большая часть которых уникальна и не разбивается естественным образом на категории. Решение Для разбиения значений на категории используйте выражения. ...
Нахождение наибольшего и наименьшего из итоговых значений
Задача Вы хотите вычислить итоговые значения для групп и вывести только наибольшее или наименьшее из них. Решение Добавьте в запрос инструкцию LIMIT. Обсуждение Функции MIN() и MAX() находят граничные значения диапазона, ...
Одновременная работа с итогами по группам и общим итогом
Задача Вы хотите вывести отчет, который требует нескольких уровней итоговой информации. Или хотите сравнить итоговые значения по группам с общим итоговым значением. Решение Выполните два запроса, извлекающие различные уровни ...
Поиск значений, связанных с минимальным и максимальным значениями
Задача Вы хотите узнать значения других столбцов строки, содержащей минимальное или максимальное значение. Решение Используйте два запроса и переменную SQL. Или «прием MAX-CONCAT». Или соединение (join). Обсуждение Функци...
Разбиение итогов на подгруппы
Задача Вы хотите получить итоговую информацию для каждой подгруппы множества строк, а не одно общее итоговое значение. Решение Используйте инструкцию GROUP BY для распределения строк по группам. Обсуждение Пока что рассма...

Страницы: 1 2