TGViewer
Channel Public Channel
SQL Ready | Базы Данных

SQL Ready | Базы Данных

@sql_ready

Авторский канал про Базы Данных и SQL
Ресурсы, гайды, задачи, шпаргалки.
Информация ежедневно пополняется!

Cотрудничество: @energy_c

РКН: https://clck.ru/3QREBc
Subscribers
17.5K
Photos
1.4K
Videos
114
Links
765

Showing posts older than #1226 · Back to latest

Older Posts 7 shown
Post #1224 2.05K
Исключение строк в оконных функциях!

Иногда при расчётах нужно не учитывать текущую строку или соседние — например, чтобы не искажать среднее значение. Для этого в SQL есть оператор EXCLUDE - задаёт, какие строки исключать из окна.

Сначала исключим текущую строку:
SELECT id, value,
AVG(value) OVER (
ORDER BY id
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
EXCLUDE CURRENT ROW
) AS avg_without_current
FROM data;


Исключаем все строки с одинаковым значением сортировки:
SELECT id, category, value,
SUM(value) OVER (
ORDER BY category
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
EXCLUDE GROUP
) AS sum_without_group
FROM data;


Исключаем только строки с тем же значением ORDER BY (ties):
SELECT id, score,
COUNT(*) OVER (
ORDER BY score
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
EXCLUDE TIES
) AS cnt_without_ties
FROM data;


🔥 Так EXCLUDE помогает гибко управлять рамкой окна — исключая нужные строки из расчётов без изменения общей логики запроса.

➡️ SQL Ready | #практика
  • 👍 14
  • ❤ 8
  • 🔥 6
Post #1219 2.33K
🖥 Разбираем создание и использование временных таблиц!

В этой шпаргалке — основные методы работы с временными структурами данных: создание и очистка временных таблиц, управление содержимым транзакций, использование CTE и параметров ON COMMIT. Эти приёмы применяются при оптимизации сложных запросов, промежуточных расчётах и обработке данных в сессиях или ETL-процессах.

➡️ SQL Ready | #шпора
  • 👍 15
  • 🔥 6
  • 🤝 5
Post #1217 2.28K
  • ❤ 16
  • 👍 8
  • 🔥 7
  • 👎 3
Post #1216 2.23K
  • 👍 14
  • ❤ 7
  • 🔥 7
  • 👎 1
Post #1210 2.43K
🖥 Анализ потенциальных списаний и безнадёжных долгов!

Иногда счета зависают надолго - дольше 180 дней. Такие долги уже маловероятно вернуть, и важно понимать их масштаб, чтобы вовремя принять меры.

В задаче:
• Найдём счета с просрочкой свыше 180 дней;

• Посчитаем их сумму и долю от всех долгов;

• Определим, какая часть уже относится к «невозвратным» (closed, bankrupt).


В результате получаем инструмент для финансового контроля и резервирования: видно, где деньги уже «застыли» и какие долги требуют списания.

➡️ SQL Ready | #задача
  • ❤ 13
  • 🔥 9
  • 👍 7
Post #1208 2.24K
Скользящее среднее: сглаживаем колебания заказов!

Оконные функции позволяют видеть тренд заказов без резких скачков.Посчитаем среднее количество заказов за последние 3 дня.

Считаем количество заказов по датам:
SELECT order_date,
COUNT(*) AS orders
FROM orders
GROUP BY order_date;


Формируем временную таблицу для расчётов:
WITH daily AS (
SELECT order_date,
COUNT(*) AS orders
FROM orders
GROUP BY order_date
)


Вычисляем среднее за 3 дня:
SELECT order_date,
AVG(orders) OVER (
ORDER BY order_date
ROWS BETWEEN 2 PRECEDING AND CURRENT ROW
) AS avg_3days
FROM daily;


Добавляем исходное значение для сравнения:
SELECT order_date,
orders,
ROUND(AVG(orders) OVER (
ORDER BY order_date
ROWS 2 PRECEDING
), 2) AS avg_3days
FROM daily;


🔥 Получаем сглаженную динамику заказов по датам — идеальный инструмент для анализа активности.

➡️ SQL Ready | #практика
  • 👍 13
  • ❤ 9
  • 🔥 7
  • 🤝 2
Post #1203 2.5K
🖥 Сегодня разбираем GENERATE_SERIES — календарь и диапазоны!

SQL умеет сам генерировать даты, числа и интервалы. Можно строить отчёты, искать пропуски и анализировать активность без сторонних таблиц.

В этом посте:
• Генерируем последовательность дат и временных меток;

• Находим “пустые” дни без заказов;

• Формируем ежедневный отчёт по активности.


Функция, которая превращает SQL в крутой аналитический инструмент.

➡️ SQL Ready | #гайд
  • 👍 15
  • 🔥 8
  • ❤ 5
  • 🤝 3
Older posts →
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 →