sqlhub | Unsorted

Telegram-канал sqlhub - Data Science. SQL hub

36043

По всем вопросам- @workakkk @itchannels_telegram - 🔥лучшие ит-каналы @ai_machinelearning_big_data - Machine learning @pythonl - Python @pythonlbooks- python книги📚 @datascienceiot - ml книги📚 РКН: https://vk.cc/cIi9vo

Subscribe to a channel

Data Science. SQL hub

⚡️ Предотвращаем потерю данных с ACID-транзакциями в DuckDB!

❌ Без транзакций:
- Списание у Alice прошло ✅
- Пополнение у Bob сломалось ❌
➡️ Итог: деньги «пропали».

✅ С транзакцией (ACID):
- Оба обновления либо проходят вместе, либо откатываются
- Баланс остаётся консистентным
- Никаких «висящих» операций

Пример:


conn.execute("BEGIN TRANSACTION")
try:
conn.execute("UPDATE accounts SET balance = balance - 200 WHERE name = 'Alice'")
conn.execute("UPDATE accounts SET balance = balance + 200 WHERE name = 'Bob'")
conn.execute("COMMIT")
except:
conn.execute("ROLLBACK")


🔹 Atomicity — либо всё, либо ничего
🔹 Consistency — база не ломается
🔹 Isolation — параллельные операции не мешают
🔹 Durability — данные не теряются

🛡 ACID гарантирует надёжность даже при сбоях.

Читать полностью…

Data Science. SQL hub

💡Неочевидный SQL-совет

Часто нужно выбрать топ-N строк внутри каждой группы — например, два самых дорогих товара в категории.
Вместо сложных оконных функций можно использовать QUALIFY (в Snowflake, BigQuery, DuckDB, Trino):


SELECT category_id, product_id, price
FROM products
QUALIFY ROW_NUMBER() OVER (PARTITION BY category_id ORDER BY price DESC) <= 2;

👉 Результат: по каждой категории вернутся только два товара с наибольшей ценой.

Этот приём делает запрос короче и понятнее, убирая необходимость во вложенных подзапросах. Если вы используете СУБД с поддержкой QUALIFY, берите на вооружение.

Читать полностью…

Data Science. SQL hub

🗄️ Неочевидный SQL-совет

Иногда нужно выбрать строки с первыми или последними значениями внутри группы — например, последний заказ каждого клиента.
Вместо вложенных подзапросов используйте DISTINCT ON (PostgreSQL):


SELECT DISTINCT ON (customer_id)
customer_id, order_id, created_at
FROM orders
ORDER BY customer_id, created_at DESC;


👉 Результат: по каждому customer_id вернётся только одна строка — с самым свежим заказом.
Очень компактная и быстрая альтернатива оконным функциям или JOIN-ам.

Читать полностью…

Data Science. SQL hub

Не пропустите! 24 сентября в 20:00 пройдет бесплатный урок “Маленькие хитрости GROUP BY” от онлайн-курса “PostgreSQL для администраторов баз данных и разработчиков”. 

Группировка строк с использованием GROUP BY - один из самых мощных инструментов в арсенале аналитиков и разработчиков. Узнайте теоретические основы и практические возможности этого инструмента на открытом уроке.

Что вас ждет на вебинаре:
- Вспомним, как устроен GROUP BY, и рассмотрим его на наглядных примерах
- Оптимизируем работу группировки в связке с индексами
- Разберемся с особенностями группировки строк в PostgreSQL
- Изучим несколько полезных приемов для работы с GROUP BY

Что будет на уроке:
- Разберём логику работы GROUP BY и типичные ошибки, которые тормозят запросы
- Оптимизация группировки с помощью индексов — когда она действительно работает
- Специфика GROUP BY в PostgreSQL: что можно, а что лучше не делать
- Несколько приёмов, которые ускорят и упростят обработку больших наборов данных

Результат участия:
- Поймёте, как извлекать максимум из GROUP BY в PostgreSQL
- Сможете оптимизировать работу запросов с большими объёмами данных
- Получите набор трюков, которые можно применять прямо в продакшене

Успейте записаться на урок: https://otus.pw/uQQf/?erid=2W5zFK131ig

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

Читать полностью…

Data Science. SQL hub

Год назад здесь была реклама нового, но уже довольно любопытного курса по API. За год его автор, тимлид команды аналитиков Глеб Учитель, проделал огромную работу: на курс записалось более 1300 человек. И сейчас его знают многие.

Если вы тоже хотите расти по хардам в IT —
добро пожаловать!

🔹🔹 🔹🔹
Начните с бесплатных уроков по архитектуре и интеграциям в чат-боте курса. Переходите и знакомьтесь.
👇
@studyit_help_bot

Скидка на курс от канала —
1 000₽ по промокоду SQLHUB до 30 сентября.

Читать полностью…

Data Science. SQL hub

The Experts: School of Analytics продлевает дедлайн подачи заявок на годовую программу по треку Top Talents!

Кто такие The Experts?
Это сообщество подтверждённых профессионалов в сферах финансов, аналитики и консалтинга. Мы делаем ставку на прикладное образование и запускаем программы, которые помогают начать карьеру и развиваться в выбранной индустрии.
School of Analytics - одна из образовательных вертикалей проекта The Experts.

👉 О годовой программе
Программа сочетает:
- Удобный формат: онлайн-лекции и воркшопы, обучение легко совмещать с вузом или работой;
- Менторство и карьерную поддержку: выпускники School of Analytics востребованы на рынке;
- Сообщество профессионалов: нетворкинг со спикерами и выпускниками, мастер-классы с представителями компаний-партнёров (Яндекс, OZON, VK, Т-Банк и др.).
- Вас ждут еженедельные лекции и практические занятия от дата- и бизнес-аналитиков.

Темы курса:
- SQL и управление базами данных,
- визуализация в PowerBI и DataLens,
- проведение А/В тестирований и проверка гипотез,
- юнит-экономика и работа с метриками,
- моделирование данных в Python и многое другое.

📎 Что даёт трек Top Talents?
До 94% покрытия стоимости обучения при успешном прохождении всех этапов отбора:
- онлайн-тестирование;
- решение кейса;
- интервью в Zoom.

Кто может подать заявку?
- студенты российских и зарубежных вузов (бакалавриат, специалитет, магистратура), получающие первое высшее образование;
- выпускники этих программ 2025 года.

👉 Подробности и регистрация
У вас есть все шансы пройти на программу, не упустите возможность!

Также открыт набор на трек EXPERT — это полный доступ ко всем возможностям программы и дополнительные преимущества. Подать заявку может любой желающий!

Читать полностью…

Data Science. SQL hub

📊 1 000 000 рублей и преимущества при поступлении в магистратуры ФКН ВШЭ — это главные призы олимпиады AIDAO

Командную олимпиаду по ИИ и анализу данных проводят ФКН НИУ ВШЭ и Яндекс Образование. Будет два этапа: онлайн и офлайн-финал в Москве. Для участия нужно собрать команду студентов зарегистрироваться на сайте.

💡 Оба этапа будут на английском языке.
💡 Во время олимпиады будут вебинары с экспертами и сотрудниками научных лабораторий, где вы сможете задать любой вопрос по заданиям.

Проявить себя, получить опыт и побороться за призы можно по ссылке.

Читать полностью…

Data Science. SQL hub

🖥 pgvectorscale — это расширение для PostgreSQL, которое предоставляет функциональность для работы с векторами, что полезно в контексте обработки и хранения векторных представлений данных, например, для машинного обучения или поиска по векторным данным!

🌟 Этот проект является частью экосистемы Timescale, которая известна своими решениями для работы с временными рядами, но здесь акцент сделан именно на работу с векторами для быстрого поиска и манипуляций с многомерными данными.

🔐 Лицензия: PostgreSQL

🖥 Github

@sqlhub

Читать полностью…

Data Science. SQL hub

Создавая будущее: магистратура по прикладному ИИ

Нейросети пишут код, создают контент и даже помогают в разработке лекарств. Спрос на ИИ-специалистов взлетел на 80% всего за год. А IT-гиганты, банки и телеком охотятся за талантами. 

Станьте таким специалистом с онлайн-магистратурой «Прикладной искусственный интеллект» от УрФУ и Нетологии. Это программа, где вы не просто учитесь, а решаете реальные задачи от Яндекса, МТС Банка и Dodo Brands. Где вместо скучных лекций — проекты и хакатоны, а преподаватели — практики из ведущих компаний.

За 2 года вы научитесь:

Использовать Python и его библиотеки.
Генерировать гипотезы и подбирать алгоритмы для разных моделей.
Строить конвейеры обработки данных.
Автоматизировать ML-пайплайн.

А ещё узнаете, как ИИ применяют в медицине, e-commerce и банковском секторе. Потому что будущее AI — не только в IT.
Эта программа — одна из немногих, куда можно поступить в сентябре. Если после летнего отдыха вы полны сил и готовы к новому, сделайте уверенный шаг в ИИ-сферу.

Подать документы можно до 18 сентября. 
Узнайте подробности по ссылке: https://netolo.gy/emSU

Реклама. ООО "Нетология". ИНН 7726464125. Erid:2VSb5xKWsz9

Читать полностью…

Data Science. SQL hub

🖥 Microsoft вопрос с собеседования по SQL

Задача: найти топ-2 Power Users в Microsoft Teams — пользователей, которые отправили больше всего сообщений в августе 2022. Вывести их sender_id и количество сообщений.

Подход:
1) Отфильтровать сообщения по интервалу августа — в T-SQL удобно задавать полуинтервалом [2022-08-01, 2022-09-01), без функций над датой (чтобы не ломать индексы).
2) Посчитать сообщения по sender_id.
3) Отсортировать по убыванию и взять TOP 2.
Если хотите корректно обрабатывать «ничьи» — используйте DENSE_RANK().

Быстрое решение (T-SQL):


SELECT TOP (2)
sender_id,
COUNT(*) AS message_count
FROM messages
WHERE sent_date >= '2022-08-01'
AND sent_date < '2022-09-01'
GROUP BY sender_id
ORDER BY COUNT(*) DESC, sender_id;


Вариант с учетом ничьих (tie-safe):


WITH monthly AS (
SELECT sender_id, COUNT(*) AS message_count
FROM messages
WHERE sent_date >= '2022-08-01'
AND sent_date < '2022-09-01'
GROUP BY sender_id
),
ranked AS (
SELECT sender_id, message_count,
DENSE_RANK() OVER (ORDER BY message_count DESC) AS rnk
FROM monthly
)
SELECT sender_id, message_count
FROM ranked
WHERE rnk <= 2
ORDER BY message_count DESC, sender_id;


Почему так:

- Фильтр по диапазону дат без функций сохраняет «sargable» запрос (используются индексы по sent_date).
- GROUP BY + COUNT(*) дают нужную метрику.
- DENSE_RANK() аккуратно захватывает все «совместные» вторые места.

@sqlhub

Читать полностью…

Data Science. SQL hub

🧩 SQL хитрый трюк

Хотите быстро найти дубликаты в таблице — но не просто значения, а ещё и сразу оставить только уникальные строки?

Вместо сложных подзапросов используйте `ROW_NUMBER()` с PARTITION BY:


WITH numbered AS (
SELECT
id,
email,
ROW_NUMBER() OVER (PARTITION BY email ORDER BY id) AS rn
FROM users
)
SELECT id, email
FROM numbered
WHERE rn = 1;


📌 Что происходит:
- PARTITION BY email группирует строки по email
- ROW_NUMBER() нумерует их внутри группы
- WHERE rn = 1 оставляет только первую запись (а все дубликаты убираются)

💡 Так можно элегантно чистить таблицы от дублей без лишних вложенных запросов.

@sqlhub

Читать полностью…

Data Science. SQL hub

🛠️ Удобный инструмент для управления кластерами Postgres

Ivory — это инструмент с открытым исходным кодом, который упрощает работу с кластерами Postgres, предоставляя удобный интерфейс для разработчиков и администраторов баз данных. Он позволяет управлять конфигурацией кластера, выполнять запросы и контролировать состояние в одном месте.

🚀 Основные моменты:
- Упрощает управление Postgres кластерами
- Интуитивно понятный интерфейс для основных функций Patroni
- Возможность работы локально или в виртуальной машине
- Поддержка редактирования конфигурации кластера
- Инструменты для диагностики и устранения проблем

📌 GitHub: https://github.com/veegres/ivory

#go

Читать полностью…

Data Science. SQL hub

🔬 DuckDB in Science

Свежий сайт с подборкой статей, лекций и подкастов и примеров о том, как DuckDB используется в научных исследованиях:

https://duckdb.org/science

@sqlhub

Читать полностью…

Data Science. SQL hub

📦 C++ обертка для SQLite с расширенными возможностями ⚙️

Библиотека boost_sqlite предоставляет удобный интерфейс для работы с SQLite в C++. Она поддерживает типизированные запросы, подготовленные выражения, функции на основе JSON и пользовательские функции. Библиотека не скрывает C-API SQLite, а дополняет его.

🚀Основные моменты:
- Типизированные запросы и подготовленные выражения
- Поддержка JSON и пользовательских функций
- Виртуальные таблицы и хуки событий
- Легкая интеграция с существующими проектами

@sqlhub

Читать полностью…

Data Science. SQL hub

💡 SQL: поиск уникальных значений с COUNT(DISTINCT)

Хотите посчитать количество уникальных элементов по каждому пользователю?
Не нужно подзапросов — используйте COUNT(DISTINCT ...) прямо в выборке.


SELECT
user_id,
COUNT(DISTINCT product_id) AS unique_products,
COUNT(DISTINCT category) AS unique_categories
FROM purchases
GROUP BY user_id;


🔎 В одном запросе можно узнать, сколько разных товаров и категорий купил каждый пользователь.
Это упрощает аналитику и заменяет сложные вложенные запросы.

@sqlhub

Читать полностью…

Data Science. SQL hub

🚀 SQL Ultimate Course — бесплатный полный курс по SQL на GitHub

Если хочешь освоить SQL с нуля и дойти до продвинутого уровня — бери готовый репозиторий:

📂 Что внутри:
- datasets/ — реальные данные из ERP и CRM
- scripts/ — готовые SQL-скрипты для практики
- docs/ — документация и материалы курса

✅ MIT-лицензия — можно использовать и менять свободно
🌍 Подходит для всех СУБД (PostgreSQL, MySQL и др.)
🎥 К курсу прилагаются видео и гайды от автора

Автор: Data With Baraa — практик и ютубер, собравший в одном месте полный SQL-путь от простого SELECT до оптимизации запросов и реальных кейсов.

🔗 Репозиторий здесь: https://github.com/DataWithBaraa/sql-ultimate-course

Сохраняй, проходи и прокачивай SQL 💡

@sqlhub

Читать полностью…

Data Science. SQL hub

🔥 Ваши данные стоят слишком дорого, чтобы ими рисковать

Positive Technologies 8 октября запустит новый продукт — PT Data Security. Он создан, чтобы вовремя выявлять угрозы и предотвращать утечки, пока они не привели к кризису.

На онлайн-трансляции вы первыми узнаете:

— Какие задачи и риски сегодня определяют настоящее и будущее рынка защиты данных.
— Какие вызовы стоят перед компаниями на рынке защиты данных.
— Почему Positive Technologies выходит на рынок защиты данных с новым подходом.

🕒 15:00 мск
📍 Онлайн
👉 Регистрация

Читать полностью…

Data Science. SQL hub

💡 SQL: быстрое нахождение первых или последних записей с DISTINCT ON !!!

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


SELECT DISTINCT ON (customer_id)
customer_id,
order_date,
amount
FROM orders
ORDER BY customer_id, order_date DESC;


🔎 Этот запрос вернёт последний заказ каждого клиента без лишних подзапросов или JOIN.

⚡ Работает очень быстро и удобно, если нужно найти «самый первый» или «самый последний» элемент в группе.

@sqlhub

Читать полностью…

Data Science. SQL hub

📈 Гайд по продвинутым вопросам для разработчика LLM

Собеседования на позицию разработчика больших языковых моделей (LLM) в топовых AI-компаниях предъявляют высокие требования к знаниям.

Кандидату необходимо понимать устройство архитектуры трансформеров, владеть методами эффективного обучения и инференса, разбираться в оптимизациях памяти и скорости (таких как LoRA, FlashAttention, vLLM, ZeRO), знать тонкости распределённого тренинга, принципов LLMOps (MLOps для больших моделей) и нюансов продакшн-развертывания LLM.

Также часто проверяют умение решать реальные задачи: от проектирования пайплайна для Sparse MoE до анализа проблем с памятью на GPU, понимания различий между методами обучения с подкреплением (RLHF vs DPO) и способов масштабирования моделей.

Этот гайд структурирован по ключевым темам, соответствующим областям знаний, которые обычно проверяются на собеседованиях. Для каждой темы мы рассмотрим, что пытаются проверить интервьюеры, приведём пример формулировки вопроса и дадим подробный разбор ответа с обсуждением трэйд-оффов, примеров кода или схем, где это уместно. Вы можете изучать материал по разделам, чтобы сфокусироваться на интересующей области.

👉 Гайд

Читать полностью…

Data Science. SQL hub

💡 SQL: использование оконных функций для накопительных сумм

Хотите посчитать «бегущую сумму» или ранжирование без подзапросов?
Используйте WINDOW FUNCTIONS — они считаются построчно, не сворачивая данные.


SELECT
customer_id,
order_date,
amount,
SUM(amount) OVER (
PARTITION BY customer_id
ORDER BY order_date
) AS running_total
FROM orders;


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

@sqlhub

Читать полностью…

Data Science. SQL hub

🟡🔵 Разбираемся с SQL JOIN и фильтрами в OUTER JOIN

Одна из самых частых ошибок при работе с SQL - путаница между условием в ON и фильтром в WHERE. На картинке это отлично показано.

Когда мы пишем LEFT OUTER JOIN, мы ожидаем, что слева попадут все строки. Но результат зависит от того, где именно мы накладываем фильтры.

✨ Пример:

У нас есть две таблицы:
- Левая: фигура + число
- Правая: число + фигура

Мы делаем LEFT OUTER JOIN.

1. Фильтр в ON
Если написать ON right_table.number = 1, то соединение будет проверять условие именно во время джойна. Это значит: строки слева сохранятся, даже если справа нет совпадений — просто будут NULL.

2. Фильтр в WHERE
Если написать WHERE left_table.number = 1, то фильтрация произойдёт уже после объединения. В этом случае строки, не прошедшие условие, полностью исчезнут из результата.

⚡ Почему это нужно знать?

- ON управляет логикой соединения.
- WHERE убирает строки после соединения.
- В OUTER JOIN это принципиальная разница: при фильтре в ON мы сохраним «пустые» строки, при фильтре в WHERE они будут удалены.


📌 Вывод:
- Если нужно оставить все строки из левой таблицы и лишь добавить совпадения справа - фильтр ставим в ON.
- Если хотим действительно отобрать только подходящие строки — фильтр в WHERE.

Именно поэтому в сложных запросах всегда спрашивай себя: фильтр — это часть логики соединения или это окончательное ограничение?

#SQL #joins #databases

Читать полностью…

Data Science. SQL hub

🖥 Полный гайд по реальным SQL-вопросам с собеседований

Введение. Собеседования на позиции, связанные с данными (аналитики, инженеры, ученые данных), всё чаще включают нестандартные и продвинутые вопросы по SQL.

Большие технологические компании (Google, Amazon и др.) предъявляют высокие требования: важна не только правильность запроса, но и умение оптимизировать его и разбираться в реальных бизнес-данных.

В этом гайде мы разберем категории наиболее распространенных сложных SQL-задач с реальных собеседований – от платформ вроде DataLemur, LeetCode, StrataScratch – и подробно поясним решения.

Каждая задача сопровождена анализом: условие, оптимальный подход, используемые SQL-конструкции, возможные ошибки и финальное решение (для PostgreSQL и MySQL, с указанием различий где необходимо).

В конце добавлен отдельный раздел о современных базах данных, включая векторные БД (Pinecone, Weaviate, Milvus и др.), с примерами того, что могут спросить про них на собеседовании и как выглядят SQL-подобные запросы для работы с векторами.

📌 Читать гайд

Читать полностью…

Data Science. SQL hub

⚡️ На чистом SQL запустили легендарный DOOM — прямо внутри базы данных CedarDB!

Игра не просто работает, а поддерживает многопользовательский режим, отрисовывая всё с помощью ASCII-графики.
Каждый компонент — от рендера до синхронизации игроков — написан исключительно на SQL-запросах.

🎮 GitHub для настоящих ценителей извращённого кода: https://github.com/cedardb/DOOMQL

@sqlhub

Читать полностью…

Data Science. SQL hub

🚀 Умная система мониторинга Alerta

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

🚀 Основные моменты:
- Масштабируемая архитектура
- Минимальная конфигурация
- Поддержка MongoDB и PostgreSQL
- Удобная веб-консоль для визуализации
- Легкая интеграция с облачными платформами

📌 GitHub: https://github.com/alerta/alerta

#python

Читать полностью…

Data Science. SQL hub

📊 Новое поколение баз данных для ИИ-агентов

Когда LLM-агенты работают с БД, они не делают один большой запрос. Вместо этого они засыпают систему тысячами мелких пробных запросов: проверяют структуру, ищут связи, тестируют планы. Это явление получило название agentic speculation. Итог — колоссальный перерасход ресурсов.

🆕 Исследователи предлагают «agent-first database» — базу, спроектированную с учётом поведения агентов.

🔑 Как это работает:
- Агент отправляет не просто SQL-запрос, а пробу с брифом: какая цель, на каком этапе он сейчас, какая нужна точность и что в приоритете.
- База может дать приближённый ответ, если данных уже достаточно, вместо того чтобы тратить ресурсы на полный расчёт.
- Запросы поддерживают семантический поиск по таблицам и строкам, что в SQL выразить сложно.

⚙️ Внутренние механизмы:
- Sleeper agents подсказывают лучшие join’ы, объясняют пустые результаты и оценивают стоимость запросов.
- Оптимизатор проб объединяет похожие запросы, кэширует частичные результаты и выдаёт быстрые ответы, когда «достаточно сигнала».
- Agentic memory хранит знания, которые можно переиспользовать в будущем.
- Общий менеджер транзакций позволяет быстро пробовать разные сценарии («what-if») без лишних затрат.

📌 Вывод: традиционный SQL не подходит для эпохи LLM. Нужны базы, которые понимают стратегию агента, сокращают лишние шаги и экономят ресурсы.

🔗 Paper: arxiv.org/abs/2509.00997

#AI #Databases #LLM #Agents

@sqlhub

Читать полностью…

Data Science. SQL hub

🔥 Успех в IT = скорость + знания + окружение

Здесь ты найдёшь всё это — коротко, по делу и без воды.
Пока другие ищут, где “подглядеть решение”, ты уже используешь самые свежие инструменты!

AI: t.me/ai_machinelearning_big_data
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Собеседования DS: t.me/machinelearning_interview
C++ t.me/cpluspluc
Docker: t.me/devops_teleg
Хакинг: t.me/linuxkalii
Devops: t.me/DevOPSitsec
Data Science: t.me/data_analysis_ml
Javascript: t.me/javascriptv
C#: t.me/csharp_1001_notes
Java: t.me/java_library
Базы данных: t.me/databases_tg
Python собеседования: t.me/python_job_interview
Мобильная разработка: t.me/mobdevelop
Golang: t.me/Golang_google
React: t.me/react_tg
Rust: t.me/rust_code
ИИ: t.me/vistehno
PHP: t.me/phpshka
Android: t.me/android_its
Frontend: t.me/front
Big Data: t.me/bigdatai
МАТЕМАТИКА: t.me/data_math
Kubernets: t.me/kubernetc
Разработка игр: /channel/gamedev
Haskell: t.me/haskell_tg
Физика: t.me/fizmat

💼 Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: /channel/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: /channel/addlist/mzMMG3RPZhY2M2Iy

😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno

🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
📕Ит-книги бесплатно: /channel/addlist/BkskQciUW_FhNjEy

Подпишись, если хочешь быть в числе тех, кого зовут в топовые проекты!

Читать полностью…

Data Science. SQL hub

Первый раз в первый X5 Tech-класс!

Школьники бегут за парты, а X5 Tech открывает набор в уникальный IT-класс для студентов. Здесь можно проверить свои скилы в кодерских задачах, получить звездочки в IT-дневник и забрать крутые призы. Покажи всему классу, на что способен!

Что ждет участников:
— задачи по backend-, frontend-, мобильной разработке, Data Science, DevOps-инфраструктуре и аналитике данных;
— ценные призы: проходки на экскурсию в распределительный центр для москвичей, подарочные карты в Пятёрочку и другие подарки от X5 Tech;
— сбор звездочек в IT-дневник и карьерные гайды;
— задания в формате квеста.

Первый звонок в X5 Tech-классе уже прозвенел! Записывай первую домашку — изучить расписание предметов по ссылке.

Читать полностью…

Data Science. SQL hub

🧩 Задача из интервью TikTok по SQL

Найдите пользователей, которые не подтвердили регистрацию в день регистрации, но подтвердили на следующий день.

Исходные таблицы:
- emails(email_id, user_id, signup_date)
- texts(text_id, email_id, signup_action {'Confirmed','Not confirmed'}, action_date)

Решение (универсально для Postgres/MySQL):


SELECT DISTINCT e.user_id
FROM emails e
WHERE EXISTS (
SELECT 1
FROM texts t1
WHERE t1.email_id = e.email_id
AND t1.signup_action = 'Confirmed'
AND DATE(t1.action_date) = DATE(e.signup_date + INTERVAL '1 day') -- подтвердил на 2-й день
)
AND NOT EXISTS (
SELECT 1
FROM texts t0
WHERE t0.email_id = e.email_id
AND t0.signup_action = 'Confirmed'
AND DATE(t0.action_date) = DATE(e.signup_date) -- не подтвердил в день регистрации
);


Вариант через агрегацию (Postgres)🧩️️


SELECT e.user_id
FROM emails e
JOIN texts t ON t.email_id = e.email_id
GROUP BY e.user_id, e.signup_date
HAVING COUNT(*) FILTER (
WHERE t.signup_action = 'Confirmed' AND DATE(t.action_date) = DATE(e.signup_date)
) = 0
AND COUNT(*) FILTER (
WHERE t.signup_action = 'Confirmed' AND DATE(t.action_date) = DATE(e.signup_date + INTERVAL '1 day')
) >= 1;


@sqlhub

Читать полностью…

Data Science. SQL hub

⚡️ Tencent дропнули Hunyuan-MT — мощные open-source модели для перевода

Что внутри:
- Доступны модели Hunyuan-MT-7B и Hunyuan-MT-Chimera-7B
- Поддержка 33 языков
- Chimera-7B — это первая d индустрии откртытая ансамблевая модель

🏆 Результаты:
- 1-е место в 30 из 31 категорий на международном конкурсе WMT25 (Workshop on Machine Translation 2025, крупнейшая в мире конференция-соревнование по машинному переводу)
- Hunyuan-MT-7B лидирует среди моделей своего размера

🟠Модели: https://huggingface.co/collections/tencent/hunyuan-mt-68b42f76d473f82798882597
🟠 Репозиторий: https://github.com/Tencent-Hunyuan/Hunyuan-MT
Demo: https://hunyuan.tencent.com/modelSquare/home/list

@ai_machinelearning_big_data


#AI #NLP #Translation #Tencent

Читать полностью…

Data Science. SQL hub

💡 SQL: условные агрегаты через CASE !!!

Хотите посчитать сумму только по условию прямо внутри агрегата?
Для этого не нужен отдельный WHERE — используйте CASE WHEN.


SELECT
customer_id,
SUM(CASE WHEN status = 'completed' THEN amount ELSE 0 END) AS completed_sum,
SUM(CASE WHEN status = 'pending' THEN amount ELSE 0 END) AS pending_sum
FROM orders
GROUP BY customer_id;


🔎 В одном запросе можно посчитать суммы по разным статусам — и не делать несколько JOIN или подзапросов.
Работает также с COUNT(), AVG() и другими агрегатами.

@sqlhub

Читать полностью…
Subscribe to a channel