SQL Ready | Базы Данных
Авторский канал про Базы Данных и SQL Ресурсы, гайды, задачи, шпаргалки. Информация ежедневно пополняется! Автор: @energy_it РКН: https://clck.ru/3QREBc Реклама на бирже: https://telega.in/c/sql_ready
Ko'proq ko'rsatish📈 Telegram kanali SQL Ready | Базы Данных analitikasi
SQL Ready | Базы Данных (@sql_ready) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 15 549 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 8 397-o'rinni va Rossiya mintaqasida 43 185-o'rinni egallagan.
📊 Auditoriya ko‘rsatkichlari va dinamika
невідомо sanasidan buyon loyiha tez o‘sib, 15 549 obunachiga ega bo‘ldi.
12 Iyun, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni 53 ga, so‘nggi 24 soatda esa -8 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.
- Tasdiqlash holati: Tasdiqlanmagan
- Jalb etish (ER): Auditoriya o‘rtacha 11.96% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 6.22% ini tashkil etuvchi reaksiyalarni to‘playdi.
- Post qamrovi: Har bir post o‘rtacha 1 860 marta ko‘riladi; birinchi sutkada odatda 967 ta ko‘rish yig‘iladi.
- Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 23 ta reaksiya keladi.
- Tematik yo‘nalishlar: Kontent sql, строка, user_id, created_at, desc kabi asosiy mavzularga jamlangan.
📝 Tavsif va kontent siyosati
Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
“Авторский канал про Базы Данных и SQL
Ресурсы, гайды, задачи, шпаргалки.
Информация ежедневно пополняется!
Автор: @energy_it
РКН: https://clck.ru/3QREBc
Реклама на бирже: https://telega.in/c/sql_ready”
Yuqori yangilanish chastotasi (oxirgi ma’lumot 13 Iyun, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.
• Определим моменты, когда начинается новая сессия; • Присвоим каждому событию уникальный session_id с помощью оконной суммы; • Получим полноценные сессии так же, как это делают продуктовые аналитические платформы.Пригодится для расчёта удержания, построения пользовательских путей, анализа фич и диагностики проблем поведения. ➡️ SQL Ready | #задача
• Разберёте реальные ошибки при развёртывании СУБД;
• Узнаете, как повысить производительность запросов через правильное партицирование и не только;
• Поймёте, как организовать конкурентный доступ и обновления данных без блокировок и простоев;
• Получите шесть конкретных лайфхаков, которые помогут избежать критических проблем.
🔊 Продолжайте читать на Habr!➡️ SQL Ready | #статья
regexp_match и regexp_replace, позволяющие делать это напрямую в SQL.
Создадим таблицу:
CREATE TABLE users (
id INT,
email TEXT,
profile_code TEXT
);
Извлечём домен из email:
SELECT
id,
email,
(regexp_match(email, '@(.+)$'))[1] AS domain
FROM users;
regexp_match возвращает один массив, и [1] достаёт первую группу. Паттерн @(.+)$ берёт всё, что стоит после символа @.
Вытащим числовую часть из кода профиля, например "USR-2391-A":
SELECT
id,
profile_code,
(regexp_match(profile_code, '([0-9]+)'))[1] AS numeric_part
FROM users;
Паттерн ([0-9]+) извлекает последовательность цифр.
Удалим всё кроме букв и цифр — удобно для нормализации входных данных:
SELECT
id,
regexp_replace(profile_code, '[^A-Za-z0-9]', '', 'g') AS cleaned
FROM users;
🔥 Такие операции часто используются при подготовке данных, парсинге логов, анализе текстовых полей и нормализации входных атрибутов.
➡️ SQL Ready | #практикаPostgreSQL не знает, насколько селективное значение в колонке.
Обновить статистику можно точечно, для одной конкретной колонки:
ANALYZE users (status);
Теперь оптимизатор видит реальное распределение значений и может корректно выбрать Index Scan.
Хотите повысить точность — увеличьте глубину сбора статистики:
ALTER TABLE users
ALTER COLUMN status SET STATISTICS 500;
🔥 Позволяет понять почему план деградирует и как вернуть индекс в работу, без изменения кода и структуры данных.
➡️ SQL Ready | #совет📌 Инструменты, гайды, шпаргалки практические гайды.
SELECT с результатами второго SELECT из подзапроса, что может быть удобно в некоторых случаях: если подзапрос возвращает небольшое количество строк или когда нужно сравнить значение хотя бы с одним значением из подзапроса.
Представим, что нам нужно найти все продукты, цена которых выше, чем цена любого продукта в категории Discount:
SELECT product, price
FROM products
WHERE price > ALL (SELECT price FROM products WHERE category = 'Discount');
Теперь найдем всех клиентов, заказавших хотя бы один продукт с ценой выше 1000 рублей:
SELECT DISTINCT customer_id
FROM orders
WHERE product_id = ANY (SELECT product_id FROM products WHERE price > 1000);
И найдем всех клиентов, которые заказывали продукты из определенной категории:
SELECT DISTINCT customer_id
FROM orders
WHERE product_id = ANY (SELECT product_id FROM products WHERE category = 'Electronics');
🔥 Но помните, что использование ALL и ANY возможно только с подзапросами и может быть неэффективным, если подзапрос возвращает большое количество строк.
➡️ SQL Ready | #практикаUX определяется не средним временем ответа, а редкими хвостовыми задержками, из-за которых важны именно p95 и p99.
Сегодня в задаче:
• Посчитаем ключевые перцентильные метрики (p50/p95/p99) по каждому маршруту; • Определим, какие запросы регулярно превышают собственный p99; • Увидим, какие эндпоинты “убивают” отклик сервиса под нагрузкой;Такой анализ помогает быстро находить узкие места
API и контролировать качество работы системы.
➡️ SQL Ready | #задачаRETURNING позволяет вернуть значения вставленных, обновлённых или удалённых строк без дополнительного SELECT.
Вставляем строку и сразу получаем созданный ID:
INSERT INTO users (name, email)
VALUES ('Anna Ivanova', 'anna@example.com')
RETURNING id;
Обновляем запись и возвращаем изменённое значение:
UPDATE accounts
SET balance = balance + 500
WHERE id = 10
RETURNING balance AS new_balance;
Удаляем строку и получаем данные до удаления:
DELETE FROM orders
WHERE id = 42
RETURNING order_date, amount;
Возвращаем множество строк:
UPDATE products
SET price = price * 1.10
WHERE category = 'Books'
RETURNING id, price;
🔥 RETURNING упрощает логику: нет необходимости выполнять дополнительный запрос, чтобы получить новые данные — они доступны сразу в рамках одного DML.
➡️ SQL Ready | #практикаЭта шпаргалка охватывает наиболее используемые функции PostgreSQL для получения текущего времени, извлечения компонентов дат, расчета интервалов, округления временных меток и преобразования Unix-времени. Подходит для разработки систем, где критична точная и предсказуемая работа с временными значениями.
➡️ SQL Ready | #шпораQUALIFY, позволяющая делать это напрямую.
Отбираем строки только с первым местом внутри категории:
SELECT id, category, score,
RANK() OVER (
PARTITION BY category
ORDER BY score DESC
) AS rnk
FROM results
QUALIFY rnk = 1;
Фильтруем строки, где разница с предыдущим значением больше 50:
SELECT id, value,
value - LAG(value) OVER (
ORDER BY id
) AS diff_prev
FROM metrics
QUALIFY diff_prev > 50;
Оставляем топ-3 самых больших заказов каждого клиента:
SELECT customer_id, order_id, amount,
ROW_NUMBER() OVER (
PARTITION BY customer_id
ORDER BY amount DESC
) AS rn
FROM orders
QUALIFY rn <= 3;
🔥 QUALIFY помогает писать чище и короче, избавляя от лишних подзапросов. Особенно полезен в аналитических задачах с большим числом оконных функций.
➡️ SQL Ready | #практика
Endi mavjud! Telegram Tadqiqoti 2025 — yilning asosiy insaytlari 
