Когда вы вообще что используете? Примеры очень приветствуются!
Я имею в виду MySql, но не могу представить, что концепция отличается от другой СУБД.
ORDER BY изменяет порядок возврата товаров.
GROUP BY будет агрегировать записи по указанным столбцам, что позволяет выполнять функции агрегирования для несгруппированных столбцов (таких как SUM, COUNT, AVG и т. Д.).
ORDER BY изменяет порядок возврата товаров.
GROUP BY будет агрегировать записи по указанным столбцам, что позволяет выполнять функции агрегирования для несгруппированных столбцов (таких как SUM, COUNT, AVG и т. Д.).
источник
age
столбец, в котором Петерс имеет разный возраст, а запрос - ВЫБРАТЬ ИМЯ, ВОЗРАСТ ИЗ ТАБЛИЦЫ ГРУППА ПО ИМЕНИ?ORDER BY: отсортируйте данные в порядке возрастания или убывания.
Рассмотрим таблицу CUSTOMERS :
Ниже приведен пример сортировки результатов в порядке возрастания по ИМЕНИ:
Это даст следующий результат:
GROUP BY: объедините идентичные данные в группы.
Теперь в таблице CUSTOMERS есть следующие записи с повторяющимися именами:
если вы хотите сгруппировать одинаковые имена в одно имя, запрос GROUP BY будет следующим:
Это даст следующий результат: (для одинаковых имен он выбирает последнее и, наконец, сортирует столбец в порядке возрастания)
как вы сделали вывод, что он бесполезен без функций SQL, таких как sum, avg и т. д.
поэтому просмотрите это определение, чтобы понять правильное использование GROUP BY:
Теперь, если вы хотите узнать общую сумму зарплаты каждого клиента (имя), запрос GROUP BY будет следующим:
Это даст следующий результат: (сумма зарплат идентичных имен и сортировка столбца ИМЯ после удаления идентичных имен)
источник
Разница в том, что подразумевает название: группа по выполняет операцию группировки и упорядочивает по сортировке.
Если вы это сделаете,
SELECT * FROM Customers ORDER BY Name
вы получите список результатов, отсортированный по именам клиентов.Если вы это сделаете,
SELECT IsActive, COUNT(*) FROM Customers GROUP BY IsActive
вы получите количество активных и неактивных клиентов. Группа по агрегировала результаты на основе указанного вами поля.источник
Они имеют совершенно разное значение и вообще не связаны между собой.
ORDER BY позволяет вам отсортировать набор результатов по различным критериям, таким как сначала отсортировать по имени от z, а затем отсортировать по цене от наибольшей к наименьшей.
(ЗАКАЗАТЬ ПО НАЗВАНИЮ, ПО УБЫТКУ)
GROUP BY позволяет вам взять ваш набор результатов, сгруппировать его в логические группы, а затем выполнить агрегированные запросы по этим группам. Вы можете, например, выбрать всех сотрудников, сгруппировать их по месту работы и рассчитать среднюю зарплату всех сотрудников на каждом рабочем месте.
источник
Простой,
ORDER BY
упорядочивает данные иGROUP BY
группирует или объединяет данные.ORDER BY
упорядочивает набор результатов в соответствии с указанным полем по умолчанию в порядке возрастания.Предположим, вы запускаете запрос, поскольку
ORDER BY (student_roll_number)
он покажет вам результат в порядке возрастания номеров списка учеников. Здесьstudent_roll_number
запись может происходить более одного раза.В
GROUP BY
случае, если мы используем это с агрегатными функциями, и он группирует данные согласно агрегатной функции, и мы получаем результат. Здесь, если наш запрос имеетSUM (marks)
вместе сGROUP BY (student_first_name)
ним, будет отображаться сумма оценок учащихся, принадлежащих к каждой группе (где все члены группы будут иметь одинаковое имя).источник
GROUP BY используется для группировки строк в выборке, обычно при агрегировании строк (например, вычислении итогов, средних значений и т. Д. Для набора строк с одинаковыми значениями для некоторых полей).
ORDER BY используется для упорядочивания строк, полученных в результате оператора выбора.
источник
Есть несколько хороших примеров. Точно так же, как добавить свой собственный из веб-таблицы, который дает хорошие четкие примеры, а также позволяет вам выполнять свой собственный SQL.
Порядок SQL по
Группа SQL по
источник
ORDER BY
показывает поле в порядке возрастания или убывания. ХотяGROUP BY
показывает одинаковые имена полей, идентификаторы и т. Д. Только в одном выводе.источник
источник
Следует отметить, что
GROUP BY
это не всегда необходимо, поскольку (по крайней мере, в PostgreSQL и, вероятно, в других вариантах SQL) вы можете использоватьORDER BY
список, и вы все равно можете использоватьASC
или дляDESC
каждого столбца ...источник