TGViewer
Data Science. SQL hub Data Science. SQL hub @sqlhub · 35.9K subscribers
Post #1529 8.73K
🖥 Как эффективно использовать SQL для Data Science?

💡 SQL — это не только инструмент для создания и управления базами данных. Его мощь часто недооценивается в контексте Data Science. Давайте рассмотрим, как SQL может помочь на каждом этапе работы с данными и почему стоит изучить его глубже.

🔍 1. Предварительная обработка данных (Data Preprocessing)
Обычно данные находятся в сыром виде и требуют значительной очистки и приведения в нужный формат. SQL позволяет быстро выполнять объединения, группировки, фильтрацию и агрегацию данных без необходимости выгружать большие наборы данных в Python или R.

Пример:

-- Выбираем транзакции с суммой выше среднего и сгруппированные по пользователям
SELECT user_id, AVG(transaction_amount) AS avg_amount
FROM transactions
GROUP BY user_id
HAVING AVG(transaction_amount) > (
SELECT AVG(transaction_amount) FROM transactions
);


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

🖥 2. Feature Engineering с SQL
Формирование признаков — ключевой этап для создания моделей. Используя SQL, можно легко создавать категориальные признаки, вычислять периоды между событиями и генерировать агрегированные значения.

Например, создание признака активности пользователя:

-- Количество покупок за последние 30 дней
SELECT user_id, COUNT(*) AS purchases_last_30_days
FROM purchases
WHERE purchase_date >= DATE_SUB(CURDATE(), INTERVAL 30 DAY)
GROUP BY user_id;


Такой запрос может быть полезен для прогнозирования оттока клиентов.

📈 3. Анализ временных рядов
Работа с временными рядами — это отдельная задача. SQL поддерживает такие функции, как скользящие средние и кумулятивные суммы.

-- Построение 7-дневного скользящего среднего по продажам
SELECT
sales_date,
sales_amount,
AVG(sales_amount) OVER (ORDER BY sales_date ROWS BETWEEN 6 PRECEDING AND CURRENT ROW) AS moving_avg_7_days
FROM sales_data;


Используя такие функции, можно получать первичный анализ временных рядов прямо из базы данных, без перехода к pandas или другим библиотекам.

📊 4. Построение аналитических отчетов
SQL — отличный инструмент для создания дашбордов и отчетов. Используя CTE (Common Table Expressions), подзапросы и оконные функции, можно строить сложные отчеты, которые сразу дадут глубокое понимание данных.

WITH monthly_sales AS (
SELECT
EXTRACT(MONTH FROM sales_date) AS month,
SUM(sales_amount) AS total_sales
FROM sales_data
GROUP BY EXTRACT(MONTH FROM sales_date)
)
SELECT
month,
total_sales,
LAG(total_sales) OVER (ORDER BY month) AS previous_month_sales,
total_sales - LAG(total_sales) OVER (ORDER BY month) AS growth
FROM monthly_sales;


Этот запрос позволит сразу увидеть динамику продаж по месяцам и рост относительно предыдущего периода

@sqlhub
  • 👍 29
  • ❤ 6
  • 🔥 2
  • 👏 1
More from @sqlhub
  1. Sep 30, 2026Полезный совет для MySQL 8: используй LATERAL, когда для каждой строки нужно получить «луч…
  2. Sep 30, 2026🗄 ИИ-агент работает с базой, но как не дать ему показать лишнее? 6 октября в Архитектурно…
  3. Sep 29, 2026🖥 Vector-базы не умерли, но для многих задач отдельный сервер уже не нужен. sqlite-vec до…
  4. Sep 28, 2026Post #2507
  5. Sep 28, 2026🔥Полноценный data stack внутри своего контура Когда данных становится много, одного SQL-д…
  6. Sep 28, 2026⚡️ Запустили PostgreSQL в Docker и случайно открыли его всей сети? Команда docker run -p 5…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →