Мартин грубер понимание sql перевод Лебедева В. Н. Под редакцией Булычева В. Н. Москва, 1993 martin gruber


SELECT cname, city FROM Customers GROUP BY cnum


Download 1.45 Mb.
bet36/172
Sana26.01.2023
Hajmi1.45 Mb.
#1128343
1   ...   32   33   34   35   36   37   38   39   ...   172
Bog'liq
Грубер. Понимание SQL

SELECT cname, city
FROM Customers
GROUP BY cnum;

Так как поле cnum не было выбранным полем, GROUP BY не cможет найти его чтобы использовать для упорядочения вывода. Даже если ваша система позволяет это, смысл упорядочения не будет понятен из вывода, так что включение (в предложение SELECT) всех столбцов, используемых в предложении ORDER BY, в принципе желательно.


УПОРЯДОЧЕНИЕ АГРЕГАТНЫХ ГРУПП

ORDER BY может кроме того, использоваться с GROUP BY для упорядочения групп. Если это так, то ORDER BY всегда приходит последним. Вот — пример из последней главы с добавлением предложения ORDER BY. Перед сгруппированием вывода, порядок групп был произвольным, и мы, теперь, заставим группы размещаться в последовательности:


SELECT snum, odate, MAX (amt)
FROM Orders
GROUP BY snum, odate
GROUP BY snum;

Вывод показывается в Рисунке 7.6.
=============== SQL Execution Log ==============
| SELECT snum, odate, MAX (amt) |
| FROM Orders |
| GROUP BY snum, odate |
| ORDER BY snum ; |
| =============================================== |
| snum odate amt |
| ----- ---------- -------- |
| 1001 10/06/1990 767.19 |
| 1001 10/05/1990 4723.00 |
| 1001 10/05/1990 9891.88 |
| 1002 10/06/1990 5160.45 |
| 1002 10/04/1990 75.75 |
| 1002 10/03/1990 1309.95 |
| 1003 10/04/1990 1713.23 |
| 1004 10/03/1990 1900.10 |
| 1007 10/03/1990 1098.16 |
=================================================

Рисунок 7.6: Упорядочение с помощью группы


Так как мы не указывали на возрастание или убывание порядка, возрастание используется по умолчанию.


УПОРЯДОЧЕНИЕ ВЫВОДА ПО НОМЕРУ СТОЛБЦА

Вместо имен столбца, вы можете использовать их порядковые номера для указания поля используемого в упорядочении вывода. Эти номера могут ссылаться не на порядок столбцов в таблице, а на их порядок в выводе. Другими словами, поле упомянутое в предложении SELECT первым, для ORDER BY — это поле 1, независимо от того каким по порядку оно стоит в таблице. Например, вы можете использовать следующую команду чтобы увидеть определенные поля таблицы Продавцов, упорядоченными в порядке убывания к наименьшему значению комиссионных (вывод показывается Рисунке 7.7):



Download 1.45 Mb.

Do'stlaringiz bilan baham:
1   ...   32   33   34   35   36   37   38   39   ...   172




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling