#mysql-workbench
#mysql-workbench
Вопрос:
я новичок в mysql, я хотел бы знать, как эффективно использовать группировку по функциям для получения результатов?пожалуйста, предоставьте примеры с объединениями, связанными с TIA.
Ответ №1:
Предложение GROUP BY используется для ограничения агрегатной функции (из которых count() является только одной из нескольких) определенным диапазоном. Без предложения group агрегат будет работать со всеми значениями в таблице (при необходимости дополнительно определяется предложением WHERE). Группировка сначала разбивает строки в таблице / представлении на отдельные наборы, определенные предложением group (все эти записи принадлежат одной группе, которые имеют одинаковое значение, указанное предложением GROUP BY ), а затем применяет агрегат к каждому из них.
Пример:
Предположим, у вас есть таблица с людьми, отделами и доходами. Теперь вы можете определить сумму всех доходов (или max, или min и т. Д.), Выполнив
select sum(income) from people;
Который возвращает единственное значение: сумму всех доходов.
Затем для отдельных отделов вы можете сгруппировать результат:
select department, sum(income) from people group by department;
Возвращает столько строк, сколько отделов, и сумму всех доходов на отдел. Подробнее читайте здесь: http://dev.mysql.com/doc/refman/5.6/en/group-by-functions.html вместе со списком возможных агрегатных функций.
Кстати. Не позволяйте людям сбивать вас с толку утверждениями типа «group в основном используется с count()», что совершенно неверно.
Ответ №2:
«group by» обычно используется с count .
Рассмотрим пример таблицы как
create table Country(state varchar(10),district varchar(10));
Теперь предположим, что вы хотите найти, «Сколько районов существует в каждом штате». Я бы использовал запрос.
select state,count(district) from Country group by state;