Сравнителна таблица
Основа за сравнение | Групирай по | Подредени по |
---|---|---|
Основен | Group By се използва за формиране на групата от набор от кортежи. | Поръчка от се използва за подреждане на данните, получени в резултат на заявка в сортирана форма. |
Атрибут | Атрибутът под функцията Aggregate не може да бъде в клауза Group By. | Атрибутът под агрегат може да бъде по ред с клауза. |
приземен | Съставено на основата на сходство между стойностите на атрибутите. | Съставено на основата на възходящ ред и низходящ ред. |
Определение на група по клауза
Агрегираните функции като avg, min, max, sum, count се прилагат към единичния набор от кортежи. В случай, че искате да приложите агрегираните функции към групата от множеството кортежи, тогава имаме клауза Group by за това. Group by clause групира кортежите, които имат една и съща стойност на атрибута.
Има едно нещо, което трябва да запомните за клаузата Group By, бъдете сигурни, че атрибутът под клаузата Group By трябва да се появи в клаузата SELECT, но не под агрегирана функция . Ако клаузата Group by съдържа атрибут, който не е под клауза SELECT или ако е под клауза SELECT, но под агрегирана функция, заявката става погрешна. Следователно можем да кажем, че клаузата Group By винаги се използва в сътрудничество с клаузата SELECT.
Нека вземем един пример, за да разберем клауза Group By.
Определение на реда по клауза
Клаузата Order By се използва за показване на данни, получени от заявка в сортирана поръчка. Подобно на клауза Group By, клаузата Order By също се използва в сътрудничество с клаузата SELECT. Ако не споменете реда за сортиране, клаузата Order By подрежда данните във възходящ ред. Можете да укажете възходящ ред като възходящ и низходящ ред като desc .
Нека разберем работата на клаузата Order By с помощта на следния пример. Разполагаме с Учителска маса и ще кандидатствам за сортиране на две колони Department_Id и Salary на таблицата учител.
Ключови разлики между групата и поръчката от
- Група от клауза групира множеството от кортежи във връзка, които са под клаузата SELECT. От друга страна клаузата Order By подрежда резултата от заявката във възходящ или низходящ ред.
- Атрибутът под агрегираната функция не може да бъде в клауза Group By.
- Групирането на кортежите се извършва въз основа на сходство между стойностите на атрибутите на кортежите. От друга страна, поръчването или сортирането се извършва въз основа на възходящ ред или низходящ ред.
Заключение:
Ако искате да формирате групата от набор от кортежи, трябва да използвате клауза Group By. В случай, че искате да подредите данните на една колона или повече от една колона в множеството кортежи във възходящ или низходящ ред, трябва да се използва клауза Order By.