Хотите видеть, какие изменения произошли между версиями документов без циклов и внешних скриптов?
В этом гайде:
• Получаем предыдущую версию документа с LAG();
• Считаем разницу по длине текста, чтобы видеть масштаб изменений;
• Фильтруем только существенные правки для фокусировки на важных правках.
С помощью оконных функций можно сразу сравнивать соседние версии, считать разницу и фильтровать только значимые изменения.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12🔥5👍4
Рекурсивные CTE: создаём календарь без таблицы дат!
Когда в базе нет отдельной таблицы календаря, можно сгенерировать последовательность прямо в запросе:
Так формируется список дней от 1 до 7 января:
Теперь календарь можно соединить с заказами, чтобы увидеть пропуски:
🔥 Рекурсивные
➡️ SQL Ready | #практика
Когда в базе нет отдельной таблицы календаря, можно сгенерировать последовательность прямо в запросе:
WITH RECURSIVE dates AS (
SELECT CAST('2025-01-01' AS DATE) AS d
UNION ALL
SELECT d + INTERVAL '1 day'
FROM dates WHERE d < '2025-01-07'
)
Так формируется список дней от 1 до 7 января:
SELECT d
FROM dates;
Теперь календарь можно соединить с заказами, чтобы увидеть пропуски:
SELECT d, COALESCE(SUM(o.total),0) AS total
FROM dates d
LEFT JOIN orders o ON o.order_date = d.d
GROUP BY d
ORDER BY d;
🔥 Рекурсивные
CTE позволяют генерировать временные ряды или числа «на лету», без вспомогательных таблиц.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍7❤4👎2🤝2
Сегодня напишем SQL-запрос, который покажет, какие пользователи в соцсети наиболее тесно связаны между собой.
В задаче:
• Определим пересечения друзей между разными пользователями;
• Посчитаем количество общих связей для каждой пары;
• Построим топ-10 пар с наибольшим числом взаимных друзей.
Такой анализ помогает находить скрытые кластеры, улучшать рекомендации и изучать структуру комьюнити.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤17👍11🔥9👎1
В этой шпаргалке - функции и операторы для поиска по тексту: от простых шаблонов и регистронезависимого поиска до полнотекстовых индексов и ранжирования результатов. Подойдёт для оптимизации запросов, работы с большими текстовыми данными и повышения точности поиска.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤6🔥6🤝3
ROLLUP и CUBE: многоуровневые итоги в одном запросе!
Обычно для отчётов приходится писать несколько
В результате вы получите суммы по каждому отделу и общую строку «итого»:
А
🔥
➡️ SQL Ready | #практика
Обычно для отчётов приходится писать несколько
GROUP BY с разными уровнями агрегации. Но ROLLUP умеет делать это автоматически:SELECT department, SUM(salary) AS total
FROM employees
GROUP BY ROLLUP(department);
В результате вы получите суммы по каждому отделу и общую строку «итого»:
SELECT region, department, SUM(salary) AS total
FROM employees
GROUP BY CUBE(region, department);
А
CUBE даёт все комбинации агрегатов: по региону, по отделу и полный итог:SELECT COALESCE(region,'ALL') AS region,
COALESCE(department,'ALL') AS department,
SUM(salary) AS total
FROM employees
GROUP BY CUBE(region, department);
🔥
ROLLUP и CUBE экономят десятки строк кода, когда нужны многоуровневые отчёты.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍9❤8🤝1
Хотите понимать, какие действия выполняют пользователи подряд, где случаются разрывы и как быстро выявлять аномалии?
Сегодня в посте:
• Узнаём, как LAG и LEAD «сдвигают» строки для анализа предыдущих и следующих событий;
• Вычисляем разрывы между действиями и фильтруем нужные паттерны;
• Находим «спящих» пользователей или редкие события, чтобы улучшить аналитику.
Такой подход делает запросы компактными и ускоряет выявление закономерностей.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥5❤4🤝2
This media is not supported in your browser
VIEW IN TELEGRAM
Здесь собраны десятки курсов от ведущих университетов и компаний: начиная с базовых SELECT-запросов до оптимизации сложных баз данных и построения аналитических систем. Лекции, практические задания и реальные кейсы, чтобы сразу закреплять теорию на практике.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥8🤝4😁3