Обобщение данных

Средний уровень SQL-запросов с ИИ

Jasmin Ludolf

Senior Data Science Content Developer

Агрегатные функции

$$

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

$$

  • Каково среднее количество голосов за фильм?

Отчёт со сводной статистикой

Средний уровень SQL-запросов с ИИ

Обобщение полей

$$

  • Агрегатные функции сворачивают несколько строк в одно значение

$$

  • Понять данные в целом или по группам

Prompt: Покажи общее количество голосов по всем фильмам

SELECT SUM(num_votes) AS total_votes
FROM reviews;
|total_votes|
|-----------|
|419507814  |
Средний уровень SQL-запросов с ИИ

Вычисление среднего по полю

Prompt: Каково среднее количество голосов за фильм?

SELECT AVG(num_votes) AS average_votes_per_film
FROM reviews;
|average_votes_per_film|
|----------------------|
|84441.991545893720    |
Средний уровень SQL-запросов с ИИ

Округление результатов

Prompt: Каково округлённое среднее количество голосов за фильм?

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-запросов с ИИ

Округление результатов

Prompt: ...округлить до одного знака после запятой

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

Prompt: ...округлить до сотен

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

Средние значения по группам

Prompt: Покажи средний округлённый бюджет по языкам, отсортированный от наибольшего к наименьшему

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-запросов с ИИ

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

Prompt: Покажи минимальный и максимальный бюджет по каждой стране в алфавитном порядке

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-запросов с ИИ

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

Только числовые поля

  • SUM()
  • AVG()

Различные типы данных

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

$$

Минимум <-> Максимум

  • Наименьшее <-> Наибольшее
  • A <-> Z
  • Самое раннее <-> Самое позднее
Средний уровень SQL-запросов с ИИ

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

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

Лучшие практики 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-запросов с ИИ

Лучшие практики SQL: форматирование

 

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

Очки на бумаге

Иконка SQL

Средний уровень SQL-запросов с ИИ

Готовы к анализу?

Средний уровень SQL-запросов с ИИ

Preparing Video For Download...