Data Science. SQL hub
По всем вопросам- @workakkk @itchannels_telegram - 🔥лучшие ит-каналы @ai_machinelearning_big_data - Machine learning @pythonl - Python @pythonlbooks- python книги📚 @datascienceiot - ml книги📚 РКН: https://vk.cc/cIi9vo #VRHSZ
Show more📈 Analytical overview of Telegram channel Data Science. SQL hub
Channel Data Science. SQL hub (@sqlhub) in the Russian language segment is an active participant. Currently, the community unites 35 831 subscribers, ranking 3 827 in the Technologies & Applications category and 18 131 in the Russia region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 35 831 subscribers.
According to the latest data from 16 June, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -38 over the last 30 days and by 0 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 9.48%. Within the first 24 hours after publication, content typically collects 3.98% reactions from the total number of subscribers.
- Post reach: On average, each post receives 3 397 views. Within the first day, a publication typically gains 1 427 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 13.
- Thematic interests: Content is focused on key topics such as sql, индекс, postgres, index, sqlite.
📝 Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
“По всем вопросам- @workakkk
@itchannels_telegram - 🔥лучшие ит-каналы
@ai_machinelearning_big_data - Machine learning
@pythonl - Python
@pythonlbooks- python книги📚
@datascienceiot - ml книги📚
РКН: https://vk.cc/cIi9vo
#VRHSZ”
Thanks to the high frequency of updates (latest data received on 17 June, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
append, обрабатывая только новые данные.
- Экономия времени, памяти и ресурсов.
💡 Преимущества Delta Lake:
- Инкрементальная загрузка данных.
- Работа с большими объёмами без полной перезагрузки.
- Поддержка транзакций (ACID).
- Совместимость с большими дата-платформами (Spark, Pandas и др.).
📊 Если у тебя миллионы строк — выигрыш в скорости будет колоссальным.
@sqlhub
from docling.document_converter import DocumentConverter
converter = DocumentConverter()
result = converter.convert("financial_report.pdf")
for table in result.document.tables:
df = table.export_to_dataframe()
📌 Github
@sqlhub
#AI #RAG #Docling #DataEngineering #PDFTRUNC с датами для фильтрации и агрегации
В Oracle функция `TRUNC(date, 'fmt')` обрезает дату до заданного формата, обнуляя менее значимые части (часы, минуты, секунды и т.д.). Это помогает:
- фильтровать данные по дням, месяцам, годам, неделям, кварталам,
- делать группировки без сложных выражений,
- избавляться от ошибок, когда время мешает сравнению дат.
📌 Форматы:
- 'DD' — начало дня (по умолчанию)
- 'MM' — первый день месяца
- 'YYYY' — первый день года
- 'IW' — начало ISO-недели
- 'Q' — первый день квартала
📍 Примеры:
- Все сделки за сегодня
select *
from trades
where trunc(ts) = trunc(sysdate);
- Группировка по месяцам
select trunc(ts, 'MM') as month_start, sum(price) as total
from trades
group by trunc(ts, 'MM')
order by month_start;
-- Данные за текущий квартал
select *
from trades
where trunc(ts, 'Q') = trunc(sysdate, 'Q');
⚡ Плюсы:
- Удобно в чтении и написании
- Убирает проблемы с «лишними» часами и минутами в датах
- Работает напрямую с типом DATE без лишних кастов
@sqlhub🟠узнаете, какие навыки и знания необходимы для успешного выполнения заданий; 🟠поймёте, что хочет увидеть работодатель; 🟠получите советы и лайфхаки; 🟠вместе с Андроном разберете в прямом эфире реальный пример тестового 🔥Чему именно научимся на вебинаре:
🟠С помощью Pandas проанализируем Яндекс-запросы за несколько недель, загрузив их из json-файла; 🟠Найдем закономерности и отличия использования сервиса на мобильных устройствах и компьютерах; 🟠Разберем фишки Pandas: сложную агрегацию, маппинг, конкатенацию, чейнинг и др.🕗 Настоятельно рекомендуем не пропускать — для зрителей у нас есть особый бонус, который обеспечит вам уверенный старт в вашей карьере. 😶Зарегистрироваться на бесплатный вебинар
amount строго возрастает каждый день, а на следующий день после интервала происходит разворот вниз (т.е. amount меньше, чем в последний день серии). Для каждого такого интервала вернуть:
- customer_id
- start_date, end_date серии
- length (длина серии в днях)
- last_amount (сумма в последний день серии)
- drop_amount (сумма в день разворота)
- drop_pct (процент падения относительно last_amount)
Решение (Oracle 12c+): используем MATCH_RECOGNIZE
SELECT *
FROM sales
MATCH_RECOGNIZE (
PARTITION BY customer_id
ORDER BY day_date
MEASURES
FIRST(day_date) AS start_date,
LAST(day_date) AS end_date,
COUNT(A.*) AS length,
LAST(amount) AS last_amount,
NEXT(amount) AS drop_amount,
ROUND( (LAST(amount) - NEXT(amount)) / NULLIF(LAST(amount),0) * 100, 2 ) AS drop_pct
ONE ROW PER MATCH
AFTER MATCH SKIP PAST LAST ROW
PATTERN (A{3,} D)
DEFINE
A AS ( PREV(amount) IS NULL OR amount > PREV(amount) ),
D AS amount < PREV(amount)
);
Пояснение
- PATTERN (A{3,} D) — ищем подпоследовательность из минимум трёх строго возрастающих дней A, за которой сразу идёт день падения D.
- DEFINE A — рост относительно предыдущего дня в группе клиента.
- DEFINE D — падение относительно предыдущего дня (последнего A).
- MEASURES — извлекаем границы серии и метрики, NEXT(amount) берёт сумму в день разворота.
- AFTER MATCH SKIP PAST LAST ROW — не пересекаем серии.
Бонус: защита от «лестниц» с пропусками дат
Если в данных бывают пропуски дней, а вам нужны подряд идущие даты, добавьте проверку календарной последовательности:
DEFINE
A AS ( (PREV(amount) IS NULL OR amount > PREV(amount))
AND (PREV(day_date) IS NULL OR day_date = PREV(day_date) + 1) ),
D AS ( amount < PREV(amount) AND day_date = PREV(day_date) + 1 )
Зачем так делать
MATCH_RECOGNIZE — мощный инструмент Oracle для поиска сложных паттернов по времени (распознавание трендов, разрывов, «голова-плечи», аномалий). Он заменяет громоздкие CTE с аналитиками и делает запрос короче, быстрее и точнее при работе с последовательностями.
@sqlhub
Available now! Telegram Research 2025 — the year's key insights 
