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 для распределения строк по группам. Обсуждение Пока что рассма...
Суммирование при помощи функций MIN() и MAX()
Задача Вам нужно определить наименьшее или наибольшее значения множества данных. Решение Используйте функцию MIN() для нахождения минимального значения, а функцию MAX() – для нахождения максимального значения. Обсуждение ...
Суммирование при помощи функций SUM() и AVG()
Задача Вам нужно найти сумму чисел или вычислить их среднее значение. Решение Используйте функцию SUM() или AVG(). Обсуждение Функции SUM() и AVG() выводят сумму и среднее значение для набора данных. Используйте их, чтобы...
Суммирование с помощью функции COUNT()
Задача Вы хотите вычислить количество строк таблицы, количество строк, удовлетворяющих некоторому условию, или узнать, сколько раз встречается определенное значение. Решение Используйте функцию COUNT(). Обсуждение Чтобы в...
Управление порядком вывода итоговой информации
Задача Вы хотите упорядочить результат запроса, выводящего итоговую информацию. Решение Если желаемый порядок недостижим при помощи инструкции GROUP BY, используйте инструкцию ORDER BY. Обсуждение В MySQL GROUP BY не толь...
Управление чувствительностью к регистру функций MIN() и MAX()
Задача Функции MIN() и MAX() выбирают строки, учитывая их регистр, а вам бы этого не хотелось, или наоборот. Решение Измените чувствительность строк к регистру. Обсуждение Когда функции MIN() и MAX() применяются к строков...
Устанавливаем уникальность значения
Задача Вы хотите знать, уникальны ли значения таблицы. Решение Используйте инструкцию HAVING в сочетании с функцией COUNT(). Обсуждение Вы можете использовать инструкцию HAVING для нахождения уникальных значений в тех слу...
Формирование отчета, содержащего итоговую информацию и список
Задача Вы хотите написать запрос, который выводит итоговую информацию, а также список записей, сопоставленных каждому итоговому значению. Решение Осознайте, что речь идет об одном из вариантов работы с несколькими уровнями ит...

Страницы: 1