Data Science: SQL и Аналитика данных
№ 6205468675 На простом языке: про работу с данными, современные технологии, AI, машинное обучение и, немного, SQL. Сотрудничество: @niktwix Менеджер: @Spiral_Yuri
Show more📈 Analytical overview of Telegram channel Data Science: SQL и Аналитика данных
Channel Data Science: SQL и Аналитика данных (@pizdatascience) in the Russian language segment is an active participant. Currently, the community unites 35 854 subscribers, ranking 3 669 in the Technologies & Applications category and 17 882 in the Russia region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 35 854 subscribers.
According to the latest data from 30 July, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -1 834 over the last 30 days and by 24 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 16.08%. Within the first 24 hours after publication, content typically collects 10.63% reactions from the total number of subscribers.
- Post reach: On average, each post receives 5 790 views. Within the first day, a publication typically gains 3 827 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 0.
- Thematic interests: Content is focused on key topics such as sql, индекс, sqlite, строка, index.
📝 Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
“№ 6205468675
На простом языке: про работу с данными, современные технологии, AI, машинное обучение и, немного, SQL.
Сотрудничество: @niktwix
Менеджер: @Spiral_Yuri”
Thanks to the high frequency of updates (latest data received on 31 July, 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.
SELECT *
FROM orders
WHERE user_id = 42
AND status = 'active';
Обычный индекс:
CREATE INDEX idx_orders_user_status
ON orders(user_id, status);
Работает, но он хранит данные по всем статусам: active, cancelled, archived, failed и так далее.
Если чаще всего нужны только активные заказы, можно сделать partial index:
CREATE INDEX idx_orders_active_user
ON orders(user_id)
WHERE status = 'active';
Такой индекс меньше, быстрее обновляется и лучше помещается в память. Планировщик сможет использовать его для запросов, где условие совпадает:
SELECT *
FROM orders
WHERE user_id = 42
AND status = 'active';
Индекс не обязан покрывать всю таблицу. Иногда лучший индекс - это индекс только по тем строкам, которые реально участвуют в горячих запросах.
Особенно полезно для флагов вроде deleted_at IS NULL, status = 'active', is_published = true, processed = false.
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAXSELECT *
FROM orders o
WHERE o.user_id IN (SELECT id FROM users WHERE active = true);
-- быстрее
SELECT *
FROM orders o
WHERE EXISTS (
SELECT 1
FROM users u
WHERE u.id = o.user_id AND u.active = true
);
EXISTS останавливается на первом совпадении и не тянет весь подзапрос в память. На больших данных разница может быть кратной.
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX⏺️ связка Opus 4.8 и Composer 2.5 потратила около $1 400; ⏺️ Fable — примерно $20 000.Одинаковая задача, но почти пятнадцатикратная разница в цене. Во время разработки агенты столкнулись с до боли знакомыми командными проблемами: дублировали работу, конфликтовали при изменении одних и тех же файлов и избегали трогать ядро системы, даже когда без этого было невозможно двигаться дальше. Получается, ИИ уже способен за часы собрать сложный системный проект, но митинги, конфликты и страх ответственности он тоже автоматизировал 😂 #ai #rust #sqlite #agents #programming ➡️ https://cursor.com/blog/agent-swarm-model-economics 🫡 Всё про Data Science 🇷🇺 Читайте нас в MAX
SELECT *
FROM users
WHERE id NOT IN (
SELECT user_id
FROM banned_users
);
Но если banned_users.user_id содержит хотя бы один NULL, запрос может вернуть ноль строк.
Надёжнее использовать NOT EXISTS:
SELECT u.*
FROM users AS u
WHERE NOT EXISTS (
SELECT 1
FROM banned_users AS b
WHERE b.user_id = u.id
);
Причина в трёхзначной логике SQL: сравнение с NULL даёт UNKNOWN, а не TRUE или FALSE.
Правило простое: если подзапрос потенциально возвращает NULL, вместо NOT IN почти всегда выбирайте NOT EXISTS.
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX🔶Какие навыки действительно проверяют на собеседованиях; 🔶Что должно быть в портфолио, чтобы его открывали работодатели; 🔶Почему многие резюме аналитиков сразу отправляются в отказ; 🔶Как искать работу без коммерческого опыта; 🔶Какие преимущества есть у кандидатов после 30, 40 и даже 50 лет; 🔶Какие ошибки чаще всего мешают получить первый оффер.Дополнительно на эфире разберем реальные примеры резюме и портфолио кандидатов, которые смогли пройти отбор. 🎁 ПОЛУЧИТЕ 3 КУРСА (PYTHON, SQL, PANDAS) В ПОДАРОК ЗА РЕГИСТРАЦИЮ НА ЭФИР! Эти курсы - база для того чтобы вкатиться в профессию! Если вы хотите войти в аналитику и перестать тратить время на лишнее обучение — этот урок поможет понять, на чем действительно стоит сосредоточиться. 🛎️Регистрируйтесь, эфир совсем скоро!
SELECT COUNT(*) > 0
FROM orders
WHERE user_id = 42;
База может пройти по всем подходящим строкам, чтобы посчитать количество.
Лучше:
SELECT EXISTS (
SELECT 1
FROM orders
WHERE user_id = 42
);
EXISTS останавливается сразу, как только нашел первую подходящую строку. Для больших таблиц это может быть заметно быстрее, особенно если есть индекс по условию:
CREATE INDEX idx_orders_user_id ON orders(user_id);
Если тебе нужен ответ “есть или нет”, используй EXISTS. COUNT(*) оставь для случаев, когда реально нужно точное количество строк.