каково различие между GROUP BY и ORDER BY в sql

Я использовал бы RadioButtons в ListBox и затем связал бы с SelectedValue.

Это - более старый поток об этой теме, но основная идея должна быть тем же: http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/323d067a-efef-4c9f-8d99-fecf45522395/

114
задан Community 25 April 2014 в 03:02
поделиться

6 ответов

ORDER BY изменяет порядок, в котором возвращаются элементы.

GROUP BY будет агрегировать записи по указанным столбцам, что позволяет вам выполнять функции агрегирования для несгруппированных столбцов (таких как SUM, COUNT, AVG и т. Д.).

77
ответ дан 24 November 2019 в 02:28
поделиться

ORDER BY изменяет порядок, в котором возвращаются элементы.

GROUP BY будет агрегировать записи по указанным столбцам, что позволяет выполнять функции агрегирования для несгруппированных столбцов (таких как SUM, COUNT, AVG и т. Д.).

TABLE:
ID NAME
1  Peter
2  John
3  Greg
4  Peter

SELECT *
FROM TABLE
ORDER BY NAME

= 
3 Greg
2 John
1 Peter
4 Peter

SELECT Count(ID), NAME
FROM TABLE
GROUP BY NAME

= 
1 Greg
1 John 
2 Peter

SELECT NAME
FROM TABLE
GROUP BY NAME
HAVING Count(ID) > 1

=
Peter
241
ответ дан 24 November 2019 в 02:28
поделиться

Разница в том, что подразумевает название: группа по выполняет операцию группирования и упорядочивает по сортировке.

Если вы выполняете ВЫБРАТЬ * ИЗ клиентов ЗАКАЗАТЬ ПО ИМЕНИ , вы получите список результатов, отсортированный по именам клиентов.

Если вы сделаете SELECT IsActive, COUNT (*) FROM Customers GROUP BY IsActive , вы получите количество активных и неактивных клиентов. Группа по агрегировала результаты на основе указанного вами поля.

25
ответ дан 24 November 2019 в 02:28
поделиться

Они имеют совершенно разное значение и на самом деле совсем не связаны.

ORDER BY позволяет вам отсортировать набор результатов в соответствии с по различным критериям, таким как сначала сортировка по имени от az, а затем сортировка по цене от самой высокой до самой низкой.

(ORDER BY name, price DESC)

GROUP BY позволяет вам взять ваш набор результатов, группу его в логические группы, а затем выполнить агрегированные запросы в этих группах. Вы можете, например, выбрать всех сотрудников, сгруппировать их по месту работы и рассчитать среднюю зарплату всех сотрудников на каждом рабочем месте.

15
ответ дан 24 November 2019 в 02:28
поделиться

GROUP BY используется для группировки строк в выбранном элементе, обычно при агрегировании строк (например, при вычислении итогов, средних значений и т.д. для набора строк с одинаковыми значениями для некоторых полей).

ORDER BY используется для упорядочивания строк, полученных с помощью оператора select.

4
ответ дан 24 November 2019 в 02:28
поделиться

Вот несколько хороших примеров. Так же, как добавить свой собственный из веб-таблицы, который дает хорошие четкие примеры, а также позволяет вам выполнять свой собственный SQL.

Порядок SQL по

Группа SQL по

4
ответ дан 24 November 2019 в 02:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: