Иногда нужно посчитать сумму, номер строки или ранг — но без группировки и потери данных. Именно для этого и используется OVER().
Что важно знать:
• Оконные функции считают агрегаты по строкам, не объединяя их — все данные остаются на месте.
• OVER() работает с PARTITION BY — чтобы разбить на группы, и ORDER BY — чтобы задать порядок.
• Это как GROUP BY, только без удаления строк — аналитика поверх полного набора данных.
🔥 — если узнал что-то новое
🤝 — если уже давно используешь
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11🤝10👍6
В любой БД вы обязательно встретитесь с даными формата DATETIME или TIMESTAMP, и хорошо знать методы работы с датами и временем. Собрал для вас топ-8 самых популярных операций. Зная их, вы сможете решать большинство задач, связанных с обработкой дат и времени в своих приложениях.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥26🤝17❤6
Псевдонимы (
alias) — это не просто временные имена, а мощный инструмент управления структурой и выводом SQL-запросов.Важно запомнить:
• Нужны для агрегаций, оконных функций, CTE и подзапросов.
• Делают код самодокументируемым — особенно в BI и API.
• Облегчают работу с JOIN’ами и повышают читаемость.
🔥 — если узнал что-то новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝21🔥14❤6👍2
❤10👍7👎3
В этой статье:
• Асинхронное подключение к PostgreSQL через SQLAlchemy ORM• Миграции базы данных с Alembic и примеры отката• Docker-compose для быстрого запуска сервисов🔊 Подробное руководство лежит на Habr!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤5🔥5
Это мощный приём для работы с вложенными структурами. Он позволяет обходить таблицы с
parent_id, формируя данные уровень за уровнем прямо в одном запросе.Что важно знать:
• Поле-счётчик (например, level) помогает визуализировать глубину и управлять ею.
• Условие WHERE level <= N ограничивает количество уровней, чтобы отчёты не разрастались.
• Всё выполняется в чистом SQL.
🔥 — если узнал что-то новое
🤝 — если уже делал подобное
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21❤6👍4🤝2