SQL Academy: всё о реляционных БД и SQL
前往频道在 Telegram
По всем вопросам и коммерческим предложениям писать @LadanovNick Купить рекламу: https://telega.in/c/sqlacademyofficial Чат студентов SQL Academy https://t.me/sqlacademyorg
显示更多📈 Telegram 频道 SQL Academy: всё о реляционных БД и SQL 的分析概览
频道 SQL Academy: всё о реляционных БД и SQL (@sqlacademyofficial) 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 11 363 名订阅者,在 技术与应用 类别中位列第 10 911,并在 俄罗斯 地区排名第 57 339 位。
📊 受众指标与增长动态
自 невідомо 创建以来,项目保持高速增长,吸引了 11 363 名订阅者。
根据 27 六月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 173,过去 24 小时变化为 1,整体触达仍然可观。
- 认证状态: 未认证
- 互动率 (ER): 平均受众互动率为 17.59%。内容发布后 24 小时内通常能获得 N/A% 的反应,占订阅者总量。
- 帖子覆盖: 每篇帖子平均可获得 1 997 次浏览,首日通常累积 0 次浏览。
- 互动与反馈: 受众积极参与,单帖平均反应数为 16。
- 主题关注点: 内容集中在 sql, строка, индекс, auto_increment, created_at 等核心主题上。
📝 描述与内容策略
作者将该频道定位为表达主观观点的平台:
“По всем вопросам и коммерческим предложениям писать @LadanovNick
Купить рекламу: https://telega.in/c/sqlacademyofficial
Чат студентов SQL Academy
https://t.me/sqlacademyorg”
凭借高频更新(最新数据采集于 28 六月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。
11 363
订阅者
+124 小时
+497 天
+17330 天
帖子存档
🚀 Как оставаться в тренде, не зарываясь в документацию?
Знакомо: учишь SQL, разбираешься с оптимизацией запросов, а потом раз — и технологии уже ушли вперед. Кейсы из реальных проектов, разбор новых инструментов и live-обсуждения часто дают больше, чем месяцы курсов.
Где искать живые знания?
— Митапы — там делятся опытом, а не теорией.
— Конференции — особенно если попасть бесплатно (да, так бывает).
— Комьюнити — где обсуждают не только «как сделать JOIN», но и «куда катится мир данных».
Если тоже ловите себя на мысли, что «надо бы сходить на что-то оффлайн, но где анонсы?», загляните в следующие каналы, в которых можно найти множество ивентов по разработке, от локальных встреч до крупных конференций:
@ITMeeting
@Meetupochnaya
@Hackatonochnaya
И да, большинство мероприятий — бесплатные.
P.S. В комментариях кидайте темы, которые хотели бы обсудить на митапах — передам организаторам ;)
ЦОДы внедряют долговременные архивы
📍 ЭЛАР представил сегмент долговременного хранения для ЦОД — роботизированные электронные архивы на оптике ЭЛАРобот НСМ
Система построена на оптических носителях:
— хранят информацию свыше 50 лет
— устойчивы к внешним воздействиям и энергоэффективны
— не нуждаются в обновлении и миграции данных
— обеспечивают 100% защиту от перезаписи и удаления
— удешевляют хранение информации, разгружая “горячие” массивы HDD/SSD
📉 ЭЛАРобот НСМ исключает расходы на обслуживание и легко интегрируется в любую ИТ-инфраструктуру.
📦 Модели для ЦОД основаны на роботизированных библиотеках ёмкостью до 1036 ТБ, которые позволяют записывать и долговременно хранить любые критически важных данные:
— документы
— базы данных
— бэкапы и другую информацию.
👉 Подробнее о технологии и преимуществах хранения на оптике
UUID() и UUID_SHORT() — генерируем уникальный ID без сервера приложений 🎲
❗Зачем знать
🔹Иногда нужно создать уникальный первичный ключ на стороне БД, а не приложения.
1️⃣ UUID() — стандартный 128-битный идентификатор
SELECT UUID();
-- '550e8400-e29b-41d4-a716-446655440000'
🔹36 символов (32 шестн. + 4 дефисa).
🔹Практически нулевая вероятность коллизии.
🔹Минусы: длинная строка → индекс ~4× крупнее, хуже кэшируется.
2️⃣ UUID_SHORT() — компактный 64-битный вариант
SELECT UUID_SHORT();
-- 281474976710661
🔹Возвращает BIGINT UNSIGNED (до 18 цифр).
🔹Формируется как: (server_id << 48) + (unix_ts << 24) + increment.
🔹Удобен для числовых PK 👉 индекс меньше, быстрее сортировка.
🔹Риск коллизии есть при одинаковом server_id (на реплике проверьте server_id!).
3️⃣ Практический пример: таблица заказов
CREATE TABLE orders (
id CHAR(36) DEFAULT (UUID()) PRIMARY KEY,
user_id INT,
total DECIMAL(10,2)
);
✅ Итог
🔹UUID() — гарантированная уникальность, но тяжёлый индекс.
🔹UUID_SHORT() — компактный числовой ID, если контролируете server_id.
🔹Оба способа позволяют генерировать ключ прямо в MySQL без внешнего сервиса или кода приложения.5 ФАТАЛЬНЫХ ОШИБОК В ГРАФИКАХ, КОТОРЫЕ ПОДРЫВАЮТ ДОВЕРИЕ К ВАШЕМУ АНАЛИЗУ
Забирайте гайд с разбором основных ошибок в канале Сделай это красиво. Автор — Алексей Смагин, дата-журналист и аналитик Яндекса.
ГАЙД ПОДОЙДЁТ:
— аналитикам данных и продуктовым аналитикам
— научным сотрудникам и исследователям
— руководителям, которые работают с отчётностью
— всем, кто делает презентации с графиками
Умение анализировать — это круто. Но заказчики не видят вашу работу, они видят итоговые выводы. А от их оформления зависит, оценят ли результат.
Научиться делать графики — это быстро и легко. Достаточно исключить базовые ошибки — и ваша инфографика сразу будет выглядеть профессиональнее.
Подписывайтесь и забирайте гайд в закрепе: https://t.me/+AKkXK8yu1ac3NzUy
🎉 PostgreSQL теперь с нами! 🐘🎉
Мы расширили движок курса — добавили полную поддержку PostgreSQL.
Теперь все уроки, задачи и автотесты работают как на MySQL, так и на PostgreSQL. Выбирайте любимый диалект — знание SQL теперь прокачивается вдвойне! 🚀
Что нового:
1️⃣ Двойной режим — переключайтесь между MySQL ↔ PostgreSQL в один клик.
2️⃣ Все практические задачи проверяются в обоих СУБД, а значит больше гибкости и реальной пользы.
3️⃣ Обновлённые подсказки и примеры с учётом синтаксиса Postgres.
💡 Базовый контент и задания по-прежнему бесплатны.
Спасибо, что растёте вместе с SQL Academy. Теперь на MySQL и PostgreSQL! 💙
ELT() и FIELD() — превращаем числовой код в текст без JOIN 🏷️
❓ Зачем нужно
Частый кейс: в таблице хранится числовой статус (1 = “pending”, 2 = “done”, 3 = “failed”).
Обычно делают JOIN с маленьким справочником, но MySQL умеет отдать текст прямо в SELECT — скомпилируем «карманный словарь» функциями FIELD() + ELT().
1️⃣ FIELD(needle, list…) — возвращает позицию элемента
SELECT FIELD(3, 1,2,3,4);
-- Результат: 3
SELECT FIELD('b', 'a','b','c');
-- Результат: 2
2️⃣ ELT(index, list…) — берёт элемент по номеру
SELECT ELT(3, 'pending','done','failed','unknown');
-- Результат: 'failed'
💡 Объединяем: число → позиция → текст
SELECT
order_id,
status_code,
ELT(
FIELD(status_code, 1,2,3,4),
'pending','in_progress','done','failed'
) AS status_text
FROM orders;
🔹 FIELD находит позицию status_code в списке кодов,
🔹 ELT вытаскивает строку из второго списка той же длины.
3️⃣ Удобный вариант через CASE?
Да, но ELT/FIELD короче, особенно для 5-10 значений.
-- аналог на CASE (длиннее)
CASE status_code
WHEN 1 THEN 'pending'
WHEN 2 THEN 'in_progress'
WHEN 3 THEN 'done'
WHEN 4 THEN 'failed'
ELSE 'unknown'
END
4️⃣ Подводные камни ⚠️
🔹 Если FIELD вернёт 0 (код не найден) — ELT() даст NULL.
🔹Порядок важен: списки в FIELD и ELT должны совпадать по длине и позиции.
✅ Итог
🔹FIELD() находит позицию кода, ELT() возвращает строку по этой позиции.
🔹Для 3-5 статусов — самый быстрый способ «раскрасить» отчёт без JOIN и CASE.💥 В чём зона роста опытного IT-управленца?
Успешный руководитель хорошо понимает не только процессы в команде, но и свою роль в них.
Пройди тест от IT_ONE и узнай, как использовать свой стиль лидерства на максимум!
За 2 минуты определишь:
➡️ Какой ты лидер в IT
➡️ В чём твоя управленческая сила
➡️ Что мешает тебе расти и как это изменить
Это не просто типология — это рабочий инструмент для самоанализа и роста.
Переходи в канал IT_ONE, проходи тест через бот @it_one_bot_bot и скидывай коллегам — пусть тоже разберутся, где их точка развития.
Реклама. ООО "ИТ1-РЕШЕНИЯ". ИНН 9717134195.
✅ Как настроить реакцию на изменения в таблицах Postgres?
Как передать эти изменения в микросервисы, в Kafka и в другие СУБД, например в Clickhouse?
Расскажем на открытом уроке «Событийная интеграция Postgres» посвященный курсу «PostgreSQL для администраторов баз данных и разработчиков»
✅ Научитесь выбирать правильный способ событийной интеграции
✅ Посмотрите, как и что можно реализовать для надежной передачи данных из Postgres во внешние системы
👉Узнаете про опыт других предприятий и протестируйте обучение на открытом уроке
https://tglink.io/a1cdffc2d6f4?erid=2W5zFJeadDa
#реклама
О рекламодателе
DATE_ADD / DATE_SUB — прибавляем дни, месяцы, годы 📅
❗ Зачем знать
Практически каждый отчёт или запрос «за последние N дней» использует именно эти функции. Умение правильно прибавлять/вычитать интервалы избавит от ошибок с високосными годами и разной длиной месяцев.
1️⃣ Синтаксис
DATE_ADD(date, INTERVAL N unit)
DATE_SUB(date, INTERVAL N unit)
unit бывает: SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, YEAR и их комбинации (например, DAY_MICROSECOND).
2️⃣ Простые примеры
-- дата через 7 дней
SELECT DATE_ADD('2025-05-01', INTERVAL 7 DAY); -- 2025-05-08
-- месяц назад
SELECT DATE_SUB(NOW(), INTERVAL 1 MONTH);
-- +2 часа к текущему времени
SELECT DATE_ADD(NOW(), INTERVAL 2 HOUR);
3️⃣ Кейс: отчёт «за последние 30 дней»
SELECT *
FROM sales
WHERE sale_date >= DATE_SUB(CURDATE(), INTERVAL 30 DAY);
👉 CURDATE() = 00:00:00 текущего дня, поэтому попадут 30 «полных» дней.
4️⃣ Прибавляем месяцы правильно
DATE_ADD учитывает разную длину месяцев и високосные годы:
-- 31 января + 1 месяц → 28 февраля (или 29 в високосный год)
SELECT DATE_ADD('2024-01-31', INTERVAL 1 MONTH); -- 2024-02-29
⚠️ Подводные камни
1. Точность NOW(): если нужен только день без времени — используйте CURDATE().
2. Интервалы с недельной гранулярностью: INTERVAL 1 WEEK = 7 дней, не календарная неделя.🔥 БЕСПЛАТНЫЙ КУРС ПО СОЗДАНИЮ НЕЙРО-СОТРУДНИКОВ НА GPT И ДРУГИХ LLM 🔥
Ищете практический и углубленный курс, чтобы освоить создание нейро-сотрудников? Мы создали курс из 5 объемных занятий. Это именно то, что нужно, чтобы прокачать свои навыки абсолютно бесплатно!
📌 Темы занятий:
1. Введение в мир нейро-сотрудников
2. Как работают LLM и их аналоги
3. Создание базы знаний для нейро-сотрудника (RAG)
4. Тестирование и отладка нейро-сотрудников
5. Интеграция нейро-сотрудников в Production
Вот 5 тем курса - он максимально простой и доступный, общеобразовательный, без какого-либо сложного программирования 📚Прохождение этого курса, скорее всего, займет у вас от 1 до 3 часов
🤖 Присоединяйтесь к нашему бесплатному курсу и разберитесь в этой увлекательной теме с нами!
Не уверены, что у вас на сервере Postgres установлен правильный набор расширений?
Удивляетесь, что сервер ваших коллег умеет больше, чем ваш?
Присоединяйтесь к нашему вебинару «Особенности реализации запросов в PostgreSQL» и узнайте, как сделать все правильно!
✅ Практика: Создание собственных решений на основании самых полезных расширений Postgres, которые ставятся на большинство производственных серверов
📌Регистрируйтесь на урок, чтобы сделать ваш сервер Postgres лучше!
https://tglink.io/bd429d90b915?erid=2W5zFHRTEMN
#реклама
О рекламодателе
🔥 Научитесь работать с базами данных и анализировать данные на новом уровне! Курс «SQL для разработчиков и аналитиков» подходит как для новичков, так и для опытных специалистов.
✅ Вы изучите основы реляционных БД, научитесь создавать сложные SQL-запросы, работать с различными СУБД (PostgreSQL, MySQL, SQL Server) и оптимизировать запросы для повышения производительности.
✅ Вы освоите как базовый, так и продвинутый синтаксис SQL. Применяйте эти навыки для решения реальных задач.
⏰ Набор скоро закроется, не упустите шанс прокачать свои навыки и открыть новые перспективы для карьерного роста.
Пройдите тест и получите скидку на обучение: https://otus.pw/xIdC/?erid=2W5zFHLh8CQ
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
🚨 Не пропустите 02 июля в 20:00 бесплатный вебинар “SQL: Оконные функции — когда GROUP BY уже не хватает” от курса “SQL для аналитиков и разработчиков”.
На вебинаре обсудим:
✅ Что такое оконные функции и чем они отличаются от агрегатных.
✅ Как с их помощью выполнять расчёты без группировки.
✅ Практические примеры: ранжирование, сравнение с предыдущей строкой, накопительные суммы и т.д.
✅ Что такое PARTITION BY и ORDER BY в контексте окон.
✅ Как оконные функции помогают упростить сложные подзапросы и JOIN-ы.
После вебинара вы сможете:
- Уверенно использовать оконные функции в повседневной работе.
- Упрощать логику отчётов и аналитических расчётов.
- Заменять сложные конструкции простыми и эффективными оконными выражениями.
- Разрабатывать запросы, в которых используются ROW_NUMBER(), LAG(), LEAD(), SUM() OVER() и др.
⏰ Оставляйте заявку на бесплатный урок и получите запись прошлого вебинара: https://otus.pw/Vjkq/?erid=2W5zFGZ1JFJ
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
💥 67% всех утечек данных — из-за SQL-инъекций.
Если вы пентестер (или хотите им стать), вы обязаны уметь находить SQL-уязвимости. Это прямой путь к базе данных, админке, а иногда — к полному контролю над системой.
Где этому научиться? На практическом курсе по SQL-инъекциям от Академии Кодебай!
Запись на поток до 3 июля, а сейчас действует скидка 10% по промокоду SQL10!
✔️ https://tglink.io/5da1a7e086b5
На курсе вы научитесь:
✦ понимать структуру SQL и писать запросы с нуля
✦ внедрять SQL-код в уязвимые формы, параметры, cookies
✦ раскручивать SQLi вручную и через Burp/SQLmap
✦ закрывать такие уязвимости на бэке
Аналогов по объёму практики в СНГ и EN-сегменте просто нет.
✔️ Регистрируйтесь, пока действует скидка: https://tglink.io/5da1a7e086b5?erid=2W5zFHjTWKi
🚀 По всем вопросам пишите @Codeby_Academy
SUBSTRING() / LEFT() / RIGHT() — извлекаем части строки ✂️
❗ Зачем нужно
Чистка и разбор данных — частая задача аналитика. Извлечь код страны из телефона, отделить год из даты в тексте, взять первые 3 буквы артикулы — всё это делается прямо в SQL, без кода на стороне приложения.
1️⃣ SUBSTRING() — получить подстроку
-- с 3-й позиции длиной 4 символа
SELECT SUBSTRING('ABCDEF', 3, 4);
-- результат: 'CDEF'
-- начиная с 2-го символа до конца
SELECT SUBSTRING('123456', 2);
-- результат: '23456'
-- отрицательный индекс = отсчёт от конца
SELECT SUBSTRING('hello', -2);
-- результат: 'lo’
2️⃣ LEFT(str, N) — «первые N символов»
SELECT LEFT('8901234567', 2);
-- '89' (код страны)
3️⃣ RIGHT(str, N) — «последние N символов»
SELECT RIGHT('2025-04-30', 2);
-- '30' (день)
💡 Практический пример: разбираем телефон
SELECT
phone,
LEFT(phone, 2) AS country_code,
-- первые 2 цифры
SUBSTRING(phone, 3, 3) AS city_code,
-- далее 3 цифры
RIGHT(phone, 4) AS last_digits
-- последние 4
FROM contacts;
⚠️ Подводные камни
🔹 Нумерация с 1: первый символ — позиция 1, а не 0.
🔹 NULL → NULL: любое из функций вернёт NULL, если аргумент NULL — учитывайте в отчётах.
✅ Итог
🔹SUBSTRING — универсальный нож: позиция + длина.
🔹LEFT / RIGHT — быстрый способ взять начало или конец строки.Встретились как-то разработчики, аналитики, инженеры данных и DevOps-инженеры…
⚡️Что может их объединять? Главная цель — понять концепцию и архитектуру взаимодействия с Kafka. И нет, это не шутка, это всё курс «Apache Kafka для разработчиков и аналитиков».
⚡️Уже 30 июня старт углублённого курса на платформе Docker+Postgres. На курсе вы вы изучите архитектуру и поймете логику работы с Kafka на примере бизнес-кейсов, среди которых:
🌐 Финтех
🌐 Репликация таблиц из MySQL в Oracle
🌐Сайт оператора связи с возможностью онлайн-продаж услуг Интернет и ТВ
🌐 Защита от DDoS при обработке API
Занимайте место на курсе прямо сейчас ❗️на 15 000₽ дешевле обычной стоимости, чтобы точно не пропустить старт и стать ещё конкурентоспособнее на рынке IT.
👉🏻Смотреть программу курса
🤸🏻Вкатились в работу с данными и Data-инжиниринг. А что дальше?
- Управление знаниями: персональная Data-инженерная вики.
- Где и как рисовать диаграммы и схемы?
- Чат-боты и ChatOps: персональный помощник Data-инженера.
- Какие софт скиллы нужны Data-инженеру?
- Нужны ли Data-инженеру пет-проекты и участие в хакатонах?
- Как влиться в DE-комьюнити?
🌝Отвечаем на эти вопросы в видеоуроке от
Data Platform Lead и Data-разработчика.
Смотрите урок, чтобы упорядочить знания в голове и в данных проекта👉🏻 видеоурок
📕 Работа со смарт-процессами в Битрикс24 для администраторов и специалистов Битрикс24, менеджеров и владельцев бизнеса
На открытом уроке 19 июня в 19:00 мск мы погрузимся в тонкости создания и настройки смарт-процессов в Битрикс24.
📗 На вебинаре разберём:
1. Как создавать, настраивать и связывать смарт-процессы с другими элементами системы;
2. Для каких сценариев распространено использование смарт-процессов;
📘 В результате на практике разреберетесь работе со смарт-процессами и в сценариях использования смарт-процессов (например, как выделить отдельный процесс для учёта доставки или согласование документов к сделке).
👉 Регистрация и подробности о курсе Интегратор Битрикс24: https://otus.pw/rccW/?erid=2W5zFH3H6p8
Все участники открытого урока получат скидку на курс "Интегратор Битрикс24", Чек-лист «10 процессов, которые нужно автоматизировать в первую очередь» и Шаблоны роботов для Битрикс24
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
SEQUENCE (MySQL 8.0.29+) — современная альтернатива AUTO_INCREMENT
💡 Зачем знать
🔹 На собеседованиях всё чаще спрашивают: «Чем SEQUENCE отличается от AUTO_INCREMENT и зачем он нужен?»
🔹 В проде помогает, когда один источник чисел требуется сразу нескольким таблицам или когда нельзя допускать длинной блокировки PRIMARY KEY.
1️⃣ Что такое SEQUENCE?
Это отдельный объект в схеме, хранящий текущее значение счётчика.
🔹 Не привязан к конкретной таблице.
🔹 Умеет шаг ( INCREMENT ), начальное значение (START).
🔹 Получить число можно в любом запросе: NEXT VALUE FOR seq_name.
-- создаём последовательность с шага 1, стартуем с 10 000
CREATE SEQUENCE ticket_seq
START WITH 10000
INCREMENT BY 1;
2️⃣ Вставка чисел в таблицу
INSERT INTO tickets (id, user_id, created_at)
VALUES (NEXT VALUE FOR ticket_seq, 42, NOW());
Получаем уникальный id без AUTO_INCREMENT в самой таблице.
3️⃣ Один счётчик — много таблиц
Нужно, чтобы tickets и invoices шли в общей нумерации? Просто используйте ту же последовательность:
INSERT INTO invoices (id, total)
VALUES (NEXT VALUE FOR ticket_seq, 199.00);
4️⃣ Дополнительные возможности
-- увеличить шаг
ALTER SEQUENCE ticket_seq
INCREMENT BY 10;
-- обнулить (осторожно!)
ALTER SEQUENCE ticket_seq
RESTART WITH 50000;
-- посмотреть текущее значение
SELECT LAST_VALUE
FROM INFORMATION_SCHEMA.SEQUENCES
WHERE SEQUENCE_NAME = 'ticket_seq';
5️⃣ Сравнение с AUTO_INCREMENT 🤔
🔹 Объект:
– SEQUENCE — отдельный объект в схеме
– AUTO_INCREMENT — жёстко привязан к таблице
🔹Один счётчик для нескольких таблиц:
– SEQUENCE — да, можно использовать в любой таблице
– AUTO_INCREMENT — нет, только внутри своей таблицы
🔹Задать старт / шаг:
– SEQUENCE — гибко: START WITH, INCREMENT BY для каждой последовательности
– AUTO_INCREMENT — глобальные AI_OFFSET / AI_INCREMENT, меньше контроля
🔹Сброс счётчика:
– SEQUENCE — ALTER SEQUENCE … RESTART WITH n
– AUTO_INCREMENT — ALTER TABLE … AUTO_INCREMENT = n (только вверх от MAX(id))
✅ Итог
SEQUENCE = гибкий, «шарящийся» счётчик, который:
🔹Позволяет одной командой нумеровать разные таблицы.
🔹Даёт точный контроль над шагом и стартом.🚨 Не пропустите 19 июня в 20:00 бесплатный вебинар “SQL: Расширяем понимание индексов в PostgreSQL и MS SQL Server” от курса “SQL для аналитиков и разработчиков”.
На вебинаре обсудим:
✅ Какие ещё типы индексов существуют помимо классического B-Tree.
✅ Как разные СУБД реализуют поддержку дополнительных индексов.
✅ Где могут быть полезны GIN, GiST, BRIN, Columnstore и другие варианты.
✅ Как подходить к выбору типа индекса под конкретную задачу.
В результате вебинара вы сможете:
— Лучше ориентироваться в возможностях индексирования в PostgreSQL и MS SQL Server.
— Понимать, какой тип индекса подходит для разных типов данных и запросов.
— Использовать дополнительные индексы там, где это действительно имеет смысл.
— Повысить эффективность работы с БД за счёт грамотного выбора индексации.
⏰ Оставляйте заявку на бесплатный урок и получите запись прошлого вебинара: https://tglink.io/4cf0835189bb?erid=2W5zFJvk5bN
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
现已上线!2025 年 Telegram 研究 — 年度关键洞察 
