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

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

@sql_ready

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

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

РКН: https://clck.ru/3QREBc
Subscribers
17.6K
Photos
1.4K
Videos
115
Links
775

Showing posts older than #756 · Back to latest

Older Posts 7 shown
Post #750 2.81K
🖥 Анализ отменённых заказов! (cancel rate)

В этой задаче напишем SQL-запрос, который поможет выявить, как часто пользователи отменяют заказы за последние 90 дней — и покажем это в разрезе дней и недель.

Что делаем:

• Считаем общее количество заказов и отдельно — отменённые (status = 'canceled').

• Используем CTE для упрощения структуры запроса и фильтрацию по последним 90 дням.

• Группируем по неделям с помощью DATE_TRUNC, чтобы отследить тренды.


Если процент отмен выше 7 % — это сигнал для бизнеса: стоит проверить, не возникают ли сбои в доставке, оплате или интерфейсе.

➡ SQL Ready | #задача
  • 🔥 16
  • ❤ 8
  • 👍 4
Post #748 2.59K
😎 W3Resource — онлайн-площадка, предназначенная для прокачки навыков работы с базами данных!

На сайте собраны задания, распределённые по темам — от простых выборок до сложных подзапросов и агрегирования. Каждое упражнение снабжено детальным разбором и готовым решением

📌 Оставляю ссылочку: w3resource.com

➡️ SQL Ready | #ресурс
  • 👍 7
  • 🔥 3
Post #747 2.24K
PARTITION PRUNING — читаем только нужные данные!

Когда таблица разрастается до сотен миллионов строк, даже простые запросы начинают тормозить. Но часто нам нужен только один месяц — зачем читать всё?

Чтобы ускорить выборку, разобьём таблицу на разделы по дате с помощью range partitioning:
CREATE TABLE sales (
sale_date DATE,
amount NUMERIC
) PARTITION BY RANGE (sale_date);


Теперь создадим конкретные партиции — каждая отвечает за свой месяц:
CREATE TABLE sales_2024_01 PARTITION OF sales
FOR VALUES FROM ('2024-01-01') TO ('2024-02-01');

CREATE TABLE sales_2024_02 PARTITION OF sales
FOR VALUES FROM ('2024-02-01') TO ('2024-03-01');


Представим, что нам нужно посчитать сумму продаж только за январь 2024 года:
SELECT SUM(amount)
FROM sales
WHERE sale_date BETWEEN '2024-01-01' AND '2024-01-31';


Добавим EXPLAIN ANALYZE, чтобы увидеть, как именно Postgres выполняет запрос:
EXPLAIN ANALYZE
SELECT SUM(amount)
FROM sales
WHERE sale_date BETWEEN '2024-01-01' AND '2024-01-31';


🔥 Важно: pruning работает только, если условие по дате написано явно — без функций, кастов и переменных.

➡️ SQL Ready | #практика
  • 👍 9
  • ❤ 7
  • 🔥 6
Post #745 2.54K
☕️ Наткнулся на любопытную статью — автор написал собственный in-memory движок для MariaDB.

В этой статье:

• Пошаговая сборка MariaDB из исходников и первые «твики» результатов
• Реализация минимального движка MEMEM с поддержкой CREATE/INSERT/SELECT
• Отличие API движков хранения MariaDB от Postgres

🔊 Подробное руководство лежит на Habr!


➡️ SQL Ready | #статья
  • ❤ 6
  • 👍 4
  • 🔥 4
Post #740 2.04K
🖥 Integrity constraints — фундамент корректных данных!

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

➡️ SQL Ready | #шпора
  • 🔥 13
  • ❤ 7
  • 👍 5
Post #734 2.34K
🖥 Осваиваем DISTINCT ON в PostgreSQL — быстрый способ выбрать первую строку из группы!

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

Что важно знать:

• Используется с ORDER BY — сначала поле из DISTINCT ON, затем сортировка внутри групп.

• Без ORDER BY результат непредсказуем — зависит от физического порядка строк.

• Альтернатива ROW_NUMBER() — тот же результат, но без подзапросов и лишнего кода.


DISTINCT ON — мощный инструмент в арсенале PostgreSQL, когда важна лаконичность и производительность.

➡ SQL Ready | #гайд
  • 🔥 21
  • ❤ 7
  • 👍 6
  • 🤝 2
Post #733 3.2K
☕️ Сайт SQL Teaching — это простой и наглядный способ выучить SQL.

Интерактивный сайт, где вы учитесь писать SQL-запросы в игровой форме. Всё происходит прямо в браузере: пишете запрос — сразу видите результат.

📌 Оставляю ссылочку: sqlteaching.com

➡️ SQL Ready | #ресурс
  • 👍 12
  • ❤ 10
  • 🔥 9
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 →