Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Агрегація та Групування в SQL | Робота з Даними
Databricks: Основи для Початківців

Агрегація та Групування в SQL

Свайпніть щоб показати меню

Note
Визначення

Агрегація в SQL використовує оператор GROUP BY для впорядкування необроблених даних у підсумкові рядки. Завдяки використанню функцій, таких як SUM(), AVG() та COUNT(), можна перетворити мільйони рядків на корисні бізнес-метрики безпосередньо у SQL-комірці.

Для багатьох SQL є найбільш природною мовою для підсумовування даних. Синтаксис дуже зрозумілий і має логічну послідовність: виберіть категорії, визначте математичні операції та задайте групи. У цьому розділі буде використано тимчасове подання, створене раніше, для виконання тих самих агрегацій, що й у Python, але з простотою SQL.

Оператор GROUP BY

У SQL будь-який стовпець, який не підсумовується математично, повинен бути включений до оператора GROUP BY наприкінці запиту. Це вказує SQL-движку, як саме розбити дані на групи.

SELECT cut, COUNT(*) 
FROM diamond_view
GROUP BY cut

Використання вбудованих агрегатних функцій

SQL надає кілька стандартних функцій для виконання обчислень над числовими стовпцями:

  • SUM(): підсумовує всі значення у стовпці;
  • AVG(): обчислює середнє значення;
  • MIN() / MAX(): знаходить найменше або найбільше значення;
  • COUNT(): повертає кількість рядків.
%sql
SELECT 
  cut, 
  SUM(x), 
  AVG(y)
FROM diamond_view
GROUP BY cut

Використання псевдонімів для професійних звітів

За замовчуванням SQL може позначати результуючі стовпці як sum(Total_Profit). Щоб зробити ваші результати придатними для бізнес-дашборду, використовуйте ключове слово AS для перейменування цих стовпців на більш описові назви.

%sql
SELECT 
  cut, 
  SUM(x) AS Total_Length,
  MAX(y) AS Highest_Diamond_Value
FROM diamond_view
GROUP BY cut

Фільтрація агрегованих даних: оператор HAVING

Поширена помилка — спроба відфільтрувати агрегований результат за допомогою WHERE. У SQL оператор WHERE фільтрує окремі рядки до їх групування. Якщо потрібно відфільтрувати результати після підсумовування (наприклад, показати лише регіони з прибутком понад $1 000 000), слід використовувати оператор HAVING.

%sql
SELECT cut, SUM(x) AS Total_Length
FROM diamond_view
GROUP BY cut
HAVING Total_Length > 4000

Сортування підсумків

Для виділення ключових інсайтів завжди використовуйте ORDER BY. Це дозволяє впорядкувати результати, наприклад, показати найбільш прибуткові регіони на початку таблиці.

%sql
SELECT cut, SUM(x) AS Total_Length
FROM diamond_view
GROUP BY cut
ORDER BY Total_Length DESC
question mark

Яка SQL-клаузула є обов'язковою для створення підсумкових рядків при використанні агрегатних функцій, таких як SUM() або AVG()?

Виберіть правильну відповідь

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 7

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 4. Розділ 7
some-alt