GROUP BY является командой в стандарте реляционной базы данных SQL для сворачивания группы строк, которые совместно используют общее значение (значения) поля в одну строку. Агрегатные функции могут быть выполнены на других полях в группе, таких как СУММА () или AVG (), для сопоставления связанных данных в единственное значение.
О нас
GROUP BY
оператор используется в сочетании с агрегатными функциями для группировки набора результатов одним или несколькими столбцами.
Агрегатные функции могут быть выполнены на других полях в группе, таких как СУММА () или AVG (), для сопоставления связанных данных в единственное значение.
Синтаксис
SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name
MySQL Handling GROUP BY
В стандартном SQL, запрос, который включает a GROUP BY
пункт не может обратиться к неагрегированным столбцам в списке выборки, которые не называют в GROUP BY
пункт. Например, этот запрос недопустим в стандартном SQL, потому что столбец имени в списке выборки не появляется в GROUP BY
:
SELECT o.custid, c.name, MAX(o.payment) FROM orders AS o, customers AS c WHERE o.custid = c.custid GROUP BY o.custid;
Чтобы запрос был законен, столбец имени нужно опустить из списка выборки или назвать в GROUP BY
пункт.