Logo
TGCATALOG
Catalog Collections Blog
Data analysis - DA SQL

Data analysis - DA SQL

Data analysis: SQL, Python.

No ratings
582
29.10.2026
582
29.10.2026
No ratings
582
29.10.2026
Safe redirect via bot
О канале

Data analysis: SQL, Python.

Подписчиков 1,700
Тематика Technology
Язык English
Ссылка t.me/business_stats

We also recommend

Kekaton AI | Voiceover and voice clone
Kekaton AI | Voiceover and voice clone
Bot

AI bot for text-to-speech and voice cloning in Telegram. Create audio using neural network quickly and easily.

Description

About data analysis: databases, SQL, Python and more for analysts.

Latest posts

Data analysis - DA SQL
Data analysis - DA SQL
🔒Открыть пост
и посмотреть медиа
Фреймы оконных функций в PL/SQL Ранее в разборе скрипта я упомянул запись ROWS UNBOUNDED PRECEDING. Подобные записи называются фреймами. Рассмотрим подробнее, какие фреймы вообще бывают и для чего они нужны. Фреймы используются, когда нужно немного изменить поведение оконной функции, чтобы ее логика расчета отличалась от логики по умолчанию. Все фреймы в PL/SQL имеют строго регламентированный вид записи и пишутся только лишь в контексте оконных функций, то есть внутри OVER(). Шаблон фреймов таков: сначала задается метод (ROWS или RANGE), а затем диапазон использования. То есть они имеют такой общий вид: { ROWS | RANGE } [ BETWEEN { UNBOUNDED PRECEDING | N PRECEDING | CURRENT ROW } AND { UNBOUNDED FOLLOWING | N FOLLOWING | CURRENT ROW } ] 🟠Как уже упомянул ранее, сначала выбирается ROWS или RANGE. Отличие между ними в том, что ROWS считает по каждой строке, а RANGE - по каждому уникальному значению. Если очень грубо, то для аналогии можно привести в пример ранжирующие функции: ROWS работает как row_number(), а RANGE как rank(). 🟠Затем мы устанавливаем диапазон (границы), в рамках которого будет считаться оконная функция. Всегда обязательно задавать после ROWS | RANGE верхнюю границу диапазона, которая может принимать только лишь 1 из 3 значений: ▶️ UNBOUNDED PRECEDING - от самой первой строки в выборке, то есть оконная функция идет с самого начала, постепенно накапливая строки. Особенно популярно в расчете накопленной суммы. ▶️ N PRECEDING - оконная функция затрагивает строки, которые находятся в N позиций ДО текущей (включительно). Обработка идет со смещением. Наиболее часто используется при расчете скользящих средних. ▶️ CURRENT ROW - по сути то же самое, что и N PRECEDING, только N = 0 всегда. Функция просто возвращает текущую строку Идем дальше. Задать только лишь нижнюю границу нельзя. Если мы задаём только верхнюю границу, то нижняя по умолчанию ставится как CURRENT ROW. BETWEEN используется только лишь в тех ситуациях, когда мы явно задаём и верхнюю, и нижнюю границу. 🟠Нижняя граница может принимать только лишь 1 из 3 значений: ▶️ UNBOUNDED FOLLOWING ▶️ CURRENT ROW ▶️ N FOLLOWING Тут всё по аналогии с верхней границей, с той лишь разницей, что это - нижняя граница. 🟠Теперь на примере. Допустим, есть такая оконная функция: SUM(Sales) OVER (ORDER BY Date) В данном случае фрейм тут не указывается, и PL/SQL по умолчанию использует RANGE UNBOUNDED PRECEDING Но это используется только когда в OVER есть ORDER BY. В остальных случаях фреймы по умолчанию не применяются, что эквивалентно записи ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING 🟠Вообще самых разных фреймов можно составить не так уж и много, но наиболее часто используемые из них: SUM(Sales) OVER (ORDER BY Date ROWS UNBOUNDED PRECEDING) Используется в основном тогда, когда мы хотим посчитать накопленную сумму правильно, то есть учитывая каждую строку (ROWS), без пропуска одинаковых значений (RANGE). Если вдруг захочется посчитать накопленную сумму только за последние N строк и потом ее постоянно обновлять (скользящая сумма), то запишем: SUM(Sales) OVER (ORDER BY Date ROWS N PRECEDING) В случае, если считаем по дням, то просто лучше заменить ROW на RANGE, т.к. продаж может быть больше 1 за день и они все будут суммироваться внутри одной даты. И результат будет выводиться уже за последние N дней, а не N строк. Но вообще это часто используется при расчете скользящих средних. Если же цель - посчитать накопленную сумму наоборот, то есть чтобы она не возрастала, а уменьшалась, оконная функция будет выглядеть так: SUM(Sales) OVER (ORDER BY Date ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Используется в основном при расчете каких-нибудь остатков.
Data analysis - DA SQL
FAQ

Open Data analysis - DA SQL in Telegram and press the Start button. No separate registration is required.

Yes. The service is designed to be straightforward: open the resource, follow the on-screen instructions and start using it.

No. You can use Data analysis - DA SQL directly in Telegram unless the resource description says otherwise.

Access depends on the resource. Check the current information in Telegram after opening Data analysis - DA SQL.

The exact features depend on the resource. Open Data analysis - DA SQL to see its current functions, content and access conditions.
Subscriber dynamics
+-0.5% last 30 days
Current
1,700
Month ago
1,709
Average growth
+0 / day
Updated
15 hours ago

Reviews for channel Data analysis - DA SQL

Log in to leave a review

Only registered users can share their opinion.

No reviews yet

Be the first to share your impression of this resource!

Similar resources

Loading
Switch to Light Theme
Home Catalog Collections Blog Login