SQL Статистические функции: Полное руководство для начинающих

Добро пожаловать, будущие маги данных! Сегодня мы окунемся в магический мир SQL статистических функций. Не волнуйтесь, если вы еще ни разу не писали ни строчки кода – я буду вашим доброжелательным проводником на этом захватывающем пути. К концу этого учебника вы будете crunching numbers как профи!

SQL - Statistical Functions

Что такое SQL статистические функции?

Прежде чем мы углубимся в детали, давайте поймем, что такое статистические функции в SQL. Представьте их как ваших личных данных детективов, помогающих вам открывать скрытые инсайты в вашей базе данных. Эти функции выполняют расчеты на наборе значений, давая вамbird's-eye view ваших данных.

Почему они важны?

Представьте, что вы ведете柠檬адный киоск (ах, те сладкие детские воспоминания!). Вы хотите знать, сколько стаканов вы продаете в среднем, или какой был ваш лучший день продаж. Статистические функции в SQL могут помочь вам ответить на эти и многие другие вопросы, но с гораздо更大的 объемами данных!

Общие SQL статистические функции

Давайте познакомимся с наиболее часто используемыми статистическими функциями в SQL. Я представлю их в удобной таблице для легкого справочника:

Функция Описание
AVG() Рассчитывает среднее значение набора значений
COUNT() Считает количество строк или непустых значений
MAX() Возвращает максимальное значение в наборе
MIN() Возвращает минимальное значение в наборе
SUM() Рассчитывает сумму набора значений
STDEV() Вычисляет стандартное отклонение набора значений
VAR() Рассчитывает дисперсию набора значений

Теперь давайте наденем рукавицы и увидим, как эти функции работают на практике!

AVG() Функция: Нахождение середины

Функция AVG() как находить середину качели – она дает вам среднее значение набора чисел.

SELECT AVG(price) AS average_price
FROM products;

В этом примере мы рассчитываем среднюю цену всех товаров в нашем магазине. Результат может быть следующим:

average_price
--------------
45.99

Это告诉我们, что в среднем наши товары стоят $45.99. Pretty neat, right?

COUNT(): Не только считание овец

Функция COUNT() – ваш goto инструмент для ответа на вопросы "сколько". Это как считание овец, но гораздо полезнее!

SELECT COUNT(*) AS total_customers
FROM customers;

Этот запрос считает все строки в таблице customers, давая нам общее количество клиентов:

total_customers
---------------
1000

Теперь мы знаем, что у нас есть 1000 клиентов. Время庆祝овать!

MAX() и MIN(): Нахождение экстремов

MAX() и MIN() как супергерои ваших данных – они swoop в чтобы найти наивысшие и наименьшие значения.

SELECT MAX(order_total) AS highest_order,
MIN(order_total) AS lowest_order
FROM orders;

Этот запрос может вернуть:

highest_order | lowest_order
--------------|--------------
999.99    |    5.99

Теперь мы знаем, что наш biggest spender потратил $999.99, а наш most frugal клиент потратил всего $5.99.

SUM(): Суммирование всего

Функция SUM() как калькулятор на стероидах – она суммирует все значения в столбце.

SELECT SUM(quantity) AS total_items_sold
FROM order_details;

Результат может быть следующим:

total_items_sold
----------------
50000

Вау! Мы продали 50,000 товаров. Это много счастливых клиентов!

STDEV() и VAR(): Для статистически inclined

Эти функции для тех, кто хочет получить немного больше изысканный анализ. STDEV() вычисляет стандартное отклонение, а VAR() дает вам дисперсию.

SELECT STDEV(price) AS price_std_dev,
VAR(price) AS price_variance
FROM products;

Это может вернуть:

price_std_dev | price_variance
--------------|----------------
15.75     |    248.0625

Эти числа告诉我们, как разбросаны наши цены на товары. Высокое стандартное отклонение означает, что у нас есть широкий диапазон цен.

Использование всего вместе: Реальный мир пример

Давайте представим, что мы анализируем наш интернет-магазин книг. Мы хотим получить всесторонний вид наших данных о заказах:

SELECT
COUNT(*) AS total_orders,
AVG(total_amount) AS avg_order_value,
MAX(total_amount) AS largest_order,
MIN(total_amount) AS smallest_order,
SUM(total_amount) AS total_revenue,
STDEV(total_amount) AS order_value_std_dev
FROM orders
WHERE order_date BETWEEN '2023-01-01' AND '2023-12-31';

Этот запрос дает нам множество информации о наших заказах за 2023 год:

total_orders | avg_order_value | largest_order | smallest_order | total_revenue | order_value_std_dev
-------------|-----------------|---------------|----------------|---------------|---------------------
10000    |     75.50       |    500.00     |     10.00      |   755000.00   |        45.25

Из этого мы можем заключить, что у нас было 10,000 заказов в 2023 году, с средней стоимостью заказа $75.50. Наш biggest order был $500, а smallest был $10. Мы сделали total revenue в размере $755,000, а стандартное отклонение $45.25 suggests, что есть довольно много variatoin в наших значениях заказов.

Заключение: Начало вашего статистического пути!

Поздравляю! Вы только что сделали свои первые шаги в мир SQL статистических функций. Эти мощные инструменты могут помочь вам понять ваши данные так, как вы никогда не представляли. Помните, практика делает мастера, так что не бойтесь экспериментировать с этими функциями на ваших собственных наборах данных.

Пока вы продолжаете свое путешествие в SQL, вы обнаружите еще больше способов разрезать и нарезать ваши данные. Кто знает? Вы даже можете стать Шерлок Холмсом баз данных, решая загадки данных слева и справа!

Продолжайте кодить, продолжайте учиться, и, самое главное, получайте удовольствие от ваших данных приключений!

Credits: Image by storyset