logo

SQL GROUP BY

Речення SQL GROUP BY використовується для впорядкування ідентичних даних у групи на основі одного або кількох стовпців. Він зазвичай використовується з такими агрегатними функціями, як COUNT() SUM() AVG() MAX() і MIN() для виконання обчислень для кожної групи даних.

fruits_image' title=

приклад: Спочатку ми будемо створити демонстраційна база даних SQL і таблиця, для яких ми будемо використовувати команду GROUP BY.

як вимкнути режим розробника на android
Співробітники' loading='lazy' title=

Запит:



SELECT Department SUM(Salary) AS TotalSalary FROM Employees GROUP BY Department;

Вихід:

Групування за запитом' loading='lazy' title=

Синтаксис:

SELECT column1 aggregate_function(column2) FROM table_name WHERE condition GROUP BY column1 column2;
  • агрегатна_функція: функція, що використовується для агрегації, напр. SUM() AVG() COUNT().
  • table_name: назва таблиці, з якої вибираються дані.
  • хвороба: Додаткова умова для фільтрації рядків перед групуванням (використовується з WHERE).
  • стовпець1 стовпець2: Стовпці, до яких застосовано групування.

Приклади GROUP BY

Припустимо, що у нас є таблиця Student. Ми вставимо деякі зразки даних у цю таблицю, а потім виконаємо операції за допомогою GROUP BY, щоб зрозуміти, як він групує рядки на основі стовпця та агрегує дані.

група' loading='lazy' title=

Приклад 1: групування за одним стовпцем

Коли ми групуємо за одним стовпцем, рядки з однаковим значенням у цьому стовпці об’єднуються. Наприклад, групування за предметами показує, скільки студентів навчається на кожному предметі.

Запит:

SELECT subject COUNT(*) AS Student_Count FROM Student GROUP BY subject;

Вихід:

шлях, встановлений у java
група-1' loading='lazy' title=

Пояснення: Кожен предмет з’являється в таблиці двічі, тому кількість для англійської математики та природничих наук дорівнює 2.

Приклад 2: групування за кількома стовпцями

Використання GROUP BY із кількома стовпцями групує рядки, які мають однакові значення в цих стовпцях. Наприклад, групування за предметом і роком об’єднає рядки з однаковою парою предмет–рік, і ми зможемо підрахувати, скільки студентів потрапить у кожну групу.

Запит:

SELECT subject year COUNT(*) FROM Student GROUP BY subject year;

Вихід:

студентів-гр' loading='lazy' title=

Пояснення: Учні з однаковим предметом і роком об’єднуються в групи. Оскільки кожна пара суб’єкт–рік зустрічається двічі, кількість дорівнює 2 для кожної групи.

Речення HAVING у реченні GROUP BY

Речення HAVING використовується для фільтрації результатів після групування, особливо під час роботи з агрегатними функціями, такими як SUM() COUNT() або AVG(). На відміну від WHERE, він застосовує умови до згрупованих даних.

емп' loading='lazy' title=

Приклад 1: Фільтрувати за загальною зарплатою

У цьому запиті ми групуємо співробітників за іменами та показуємо лише тих, чия загальна зарплата перевищує 50 000.

SELECT NAME SUM(sal) FROM Emp GROUP BY name HAVING SUM(sal)>50000; 

Вихід

вік-1' loading='lazy' title=

Пояснення : У результатах з’являються лише працівники, загальна зарплата яких перевищує 50 000.

linux змінити назву каталогу

Приклад 2: Фільтрувати за середньою зарплатою

У цьому запиті ми групуємо працівників за віком і показуємо лише ті вікові групи, де середня зарплата перевищує 60 000.

SELECT age AVG(sal) AS Average_Salary FROM emp GROUP BY age HAVING AVG(sal) > 60000;

Вихід:

вихід-1' loading='lazy' title=

Пояснення: Цей запит групує працівників за віком і обчислює середню зарплату для кожного віку. Відображаються лише ті вікові групи, де середня зарплата перевищує 60 тис.

Створіть вікторину