Підсумовування даних

Середній рівень SQL-запитів з AI

Jasmin Ludolf

Senior Data Science Content Developer

Агрегатні функції

$$

  • SUM()
  • AVG()
  • MIN()
  • MAX()

$$

  • Яка середня кількість голосів на фільм?

Звіт зі зведеною статистикою

Середній рівень SQL-запитів з AI

Підсумовування полів

$$

  • Агрегатні функції згортають кілька рядків в одне значення

$$

  • Щоб бачити дані повністю або за групами

Запит: Покажіть загальну кількість голосів по фільмах

SELECT SUM(num_votes) AS total_votes
FROM reviews;
|total_votes|
|-----------|
|419507814  |
Середній рівень SQL-запитів з AI

Обчислення середніх для полів

Запит: Яка середня кількість голосів на фільм?

SELECT AVG(num_votes) AS average_votes_per_film
FROM reviews;
|average_votes_per_film|
|----------------------|
|84441.991545893720    |
Середній рівень SQL-запитів з AI

Округлення результатів

Запит: Яка округлена середня кількість голосів на фільм?

SELECT ROUND(AVG(num_votes)) AS avg_votes
FROM reviews;
|avg_votes|
|---------|
|84442    |
ROUND(AVG(num_votes), 1)
84442.0
ROUND(AVG(num_votes), 2)
84441.99
ROUND(AVG(num_votes), -2)
84400
Середній рівень SQL-запитів з AI

Округлення результатів

Запит: ...округлено до одного знака після коми

SELECT ROUND(AVG(num_votes), 1) AS avg_votes
FROM reviews;
|avg_votes|
|---------|
|84442.0  |

Запит: ...округлено до сотень

SELECT ROUND(AVG(num_votes), -2) AS avg_votes
FROM reviews;
|avg_votes|
|---------|
|84400    |
Середній рівень SQL-запитів з AI

Середні за групами

Запит: Покажіть середній округлений бюджет за мовами, спочатку з найбільшим

SELECT language, ROUND(AVG(budget)) AS average_budget
FROM films
GROUP BY language
ORDER BY average_budget DESC;
|language |average_budget|
|---------|--------------|
|Greek    |              |
|Kannada  |              |    
|Polish   |              |
|Korean   |2741550000    |
...
Середній рівень SQL-запитів з AI

Мінімум і максимум

Запит: Покажіть найменші та найбільші бюджети кожної країни в алфавітному порядку

SELECT country, 
       MIN(budget) AS lowest_budget, 
       MAX(budget) AS highest_budget
FROM films
GROUP BY country
ORDER BY country;
|country    |lowest_budget|highest_budget|
|-----------|-------------|--------------|
|Afghanistan|46000        |46000         |
|Argentina  |800000       |2000000       |
|Aruba      |35000000     |35000000      |
...

$$

$$

  • Визначати діапазони
  • Розуміти охоплення даних
  • Бачити типовий показник
Середній рівень SQL-запитів з AI

Агрегатні функції та типи даних

Лише числові поля

  • SUM()
  • AVG()

Різні типи даних

  • MIN()
  • MAX()
  • COUNT()

$$

Minimum <-> Maximum

  • Найменше <-> Найбільше
  • A <-> Z
  • Найраніша <-> Найпізніша
Середній рівень SQL-запитів з AI

Мінімум і максимум

SELECT MIN(language) AS min_language
FROM films;
|min_language|
|------------|
|Aboriginal  |
SELECT MAX(language) AS max_language
FROM films;
|max_language|
|------------|
|Zulu        |
Середній рівень SQL-запитів з AI

Найкращі практики SQL: псевдоніми

SELECT SUM(budget) AS total_budget
...
SELECT AVG(budget) AS average_budget
...
SELECT country, 
       MIN(budget) AS lowest_budget, 
       MAX(budget) AS highest_budget
...
SELECT AVG(num_user), AVG(num_critic)
FROM reviews;
|avg     |avg     |
|275.6...|141.9...|
Середній рівень SQL-запитів з AI

Найкращі практики SQL: форматування

 

  • Пишіть запити у кілька рядків
  • Використовуйте відступи
SELECT country, 
       MIN(budget) AS lowest_budget, 
       MAX(budget) AS highest_budget
FROM films
GROUP BY country
ORDER BY country;

Окуляри на папері

Піктограма SQL

Середній рівень SQL-запитів з AI

Готові до аналізу?

Середній рівень SQL-запитів з AI

Preparing Video For Download...