Різниця між групами за порядком і порядком від у SQL
Зміст
SQL дозволяє впорядкувати дані, отримані за запитом. У нас є два пункти щодо організації даних, отриманих із запиту, які є групуванням за замовчуванням. Справа, яка відрізняє групу "Порядок" та "Порядок за пунктом", полягає в тому Групувати за пункт використовується, коли ми хочемо застосувати сукупну функцію до більш ніж одного набору кортежів і Сортувати по Стаття використовується, коли ми хочемо сортувати дані, отримані за запитом. Обговоримо деякі відмінності між пунктом «Група за класом» та «Порядок за пунктом» за допомогою таблиці порівняння, показаної нижче.
- Порівняльна діаграма
- Визначення
- Ключові відмінності
- Висновок
Порівняльна діаграма
Основа для порівняння | Групувати за | Сортувати по |
---|---|---|
Основні | Group By використовується для формування групи з набору кортежів. | Order By використовується для впорядкування даних, отриманих у результаті запиту у сортованій формі. |
Атрибут | Атрибут під функцією «Агрегат» не може бути в групі за застереженням | Атрибути під сукупністю можуть бути в порядку "По замовленню". |
Земля | Зроблено на основі подібності серед значень атрибутів. | Зроблено на підставі порядку зростання та порядку зменшення. |
Визначення групи за умовою
До одного набору кортежів застосовуються сукупні функції, такі як avg, min, max, sum, count. У випадку, якщо ви хочете застосувати сукупні функції до групи набору кортежів, для цього у нас є група за умовою. Згрупувати за пропозицією групує кортежі, які мають однакове значення атрибута.
Є одне, що потрібно пам’ятати про групу За пунктом, переконайтеся, що атрибут під Групувати за пункт повинен бути відображений у ВИБІРИ пункт але ні під ан сукупна функція. Якщо пункт «За групою» містить атрибут, який знаходиться не в пункті «SELECT», або якщо він знаходиться під пунктом «SELECT», але під функцією «агрегат», запит стає помилковим. Отже, можна сказати, що пункт Group By завжди використовується у співпраці з пунктом SELECT.
Візьмемо приклад, щоб зрозуміти пункт «За групою».
SELECT відділ _ID, avg (заробітна плата) як avg_salary від групи вчителів за відділом_ID.Видно, що спочатку формується проміжний результат, який згрупував відділи. Далі сукупна середня функція застосовується до кожної групи відділів, і результат показаний нижче.
Визначення порядку за умовою
Застереження "Порядок" використовується для відображення даних, отриманих за запитом, у відсортованому порядку. Як і група "За застереженням", "Упорядкувати за" також використовується у співпраці з пунктом SELECT. Якщо ви не згадуєте про порядок сортування, пункт «По замовленню» сортує дані у порядку зростання. Ви можете вказати порядку зростання як вх і низхідний порядок як розм.
Давайте розберемося в роботі замовлення за допомогою наступного прикладу. У нас є таблиця вчителя, і я застосую сортування до двох стовпців відділу_Ід та заробітної плати таблиці Вчителя.
Виберіть відділ_ID, заробітну плату з наказу вчителя за відділом_Ід ас., Зар. Ви можете бачити, що спочатку він упорядковує Департамент _ID у порядку зростання, а потім упорядковує зарплати в цьому ж відділі у порядку зменшення.- Згрупувати за пунктом групує набір кортежів у відношенні, яке знаходиться під пунктом SELECT. З іншого боку, пункт «Порядок за сортуванням» сортує результати запиту у порядку зростання чи зменшення.
- Атрибут під функцією агрегату не може бути під груповим пунктом, тоді як атрибут під сукупною функцією може бути там під пунктом "Порядок за".
- Групування кортежів здійснюється на основі подібності серед атрибутивних значень кортежів. З іншого боку, упорядкування чи сортування проводиться на основі порядку зростання чи порядку зменшення.
Висновок:
Якщо ви хочете сформувати групу з набору кортежів, тоді ви повинні використовувати пункт «За групою». У випадку, якщо ви хочете впорядкувати дані одного стовпчика або, більше одного стовпця, у наборі кортежів у порядку зростання або зменшення, тоді слід використовувати пункт «За замовчуванням».