SQL Ready | Базы Данных
Авторский канал про Базы Данных и SQL Ресурсы, гайды, задачи, шпаргалки. Информация ежедневно пополняется! Автор: @energy_it РКН: https://clck.ru/3QREBc Реклама на бирже: https://telega.in/c/sql_ready
Show more📈 Analytical overview of Telegram channel SQL Ready | Базы Данных
Channel SQL Ready | Базы Данных (@sql_ready) in the Russian language segment is an active participant. Currently, the community unites 15 549 subscribers, ranking 8 397 in the Technologies & Applications category and 43 185 in the Russia region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 15 549 subscribers.
According to the latest data from 12 June, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by 53 over the last 30 days and by -8 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 11.96%. Within the first 24 hours after publication, content typically collects 6.22% reactions from the total number of subscribers.
- Post reach: On average, each post receives 1 860 views. Within the first day, a publication typically gains 967 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 23.
- Thematic interests: Content is focused on key topics such as sql, строка, user_id, created_at, desc.
📝 Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
“Авторский канал про Базы Данных и SQL
Ресурсы, гайды, задачи, шпаргалки.
Информация ежедневно пополняется!
Автор: @energy_it
РКН: https://clck.ru/3QREBc
Реклама на бирже: https://telega.in/c/sql_ready”
Thanks to the high frequency of updates (latest data received on 13 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.
UNNEST() не сохраняет позицию элемента, что критично, когда важен порядок: восстановление списков, сортировка, работа с JSON-массивами.
В PostgreSQL есть решение — WITH ORDINALITY. Оно добавляет индекс элемента прямо при распаковке.
Пример: распакуем массив ингредиентов с сохранением порядка:
SELECT recipe_id, ingredient, ord
FROM recipes,
UNNEST(ingredients) WITH ORDINALITY AS t(ingredient, ord);
В отличие от обычного UNNEST(), здесь мы сразу получаем порядковый номер — без оконных функций и без дополнительных JOIN.
Соберём обратно отсортированный список:
SELECT recipe_id,
STRING_AGG(ingredient, ', ' ORDER BY ord) AS ordered_list
FROM (
SELECT recipe_id, ingredient, ord
FROM recipes,
UNNEST(ingredients) WITH ORDINALITY t(ingredient, ord)
) q
GROUP BY recipe_id;
Работа с JSON-массивами:
SELECT order_id,
item ->> 'name' AS name,
item ->> 'price' AS price,
ord
FROM orders,
jsonb_array_elements(items) WITH ORDINALITY AS t(item, ord);
🔥 Используйте WITH ORDINALITY в PostgreSQL, когда критична позиция элемента в массиве или JSON-списке.
➡️ SQL Ready | #практикаВ этой шпаргалке собраны функции MySQL, применяемые для получения отдельных компонентов даты и времени: года, месяца, дня, часов, минут, секунд, номера недели и дня недели. Эти операции используются в большинстве рабочих запросов — от фильтрации и группировки данных до подготовки отчётов и временной аналитики.
➡️ SQL Ready | #шпораSELECT *
FROM generate_series('2025-01-01', '2025-01-31', interval '1 day');
generate_series() создаёт виртуальную таблицу с шагом по дате.
Никаких временных таблиц, никаких циклов.
Теперь можно объединить это с данными:
SELECT g.day, COUNT(o.id) AS total
FROM generate_series('2025-01-01', '2025-01-31', interval '1 day') AS g(day)
LEFT JOIN orders o ON date(o.created_at) = g.day
GROUP BY g.day
ORDER BY g.day;
🔥 Пригодится для аналитики временных рядов,
заполнения пропусков и построения отчётов!
➡️ SQL Ready | #совет• Проверим, существует ли прямой путь, простой случай, но часто самый важный; • Расширим поиск и найдём маршруты вида A => X => B, где X — автоматически вычисленная пересадка; • Построим цепочки A => X => Y => B, что по сути является маленьким обходом графа.Это базовая техника работы с графами, подходит для поиска зависимостей, цепочек действий и любых последовательностей. ➡️ SQL Ready | #задача
WHERE, запросы тормозят. В PostgreSQL это решается GENERATED ALWAYS AS … STORED — выражение вычисляется один раз и хранится как обычное поле.
Создаём таблицу с материализованным выражением:
CREATE TABLE events (
id BIGSERIAL PRIMARY KEY,
payload JSONB NOT NULL,
event_type TEXT GENERATED ALWAYS AS (payload->>'type') STORED
);
Теперь event_type больше не вычисляется на лету — значение лежит прямо в строке.
Фильтрация становится проще и быстрее:
SELECT id
FROM events
WHERE event_type = 'purchase';
Добавляем индекс:
CREATE INDEX idx_events_event_type
ON events(event_type);
Проверяем:
EXPLAIN ANALYZE
SELECT id
FROM events
WHERE event_type = 'purchase';
🔥 Должен быть Index Scan, без тяжёлых операций над JSONB. Сгенерированные колонки отлично подходят для повторяющихся вычислений:
➡️ SQL Ready | #практикаSKIP LOCKED позволяет управлять конкурентным доступом на уровне строки, а не всей таблицы, поэтому воркеры не ждут друг друга и не создают лишних блокировок.
Сегодня в гайде:
• Забираем задачи параллельно и без конфликтов; • Делаем атомарный “взять + обновить” в одном запросе; • Распределяем очереди между воркерами под высокой нагрузкой.Этот прием делает обработку задач масштабируемой даже при высоком параллелизме. ➡️ SQL Ready | #гайд
Эта шпаргалка собирает основные псевдоколонки Oracle и показывает, как использовать их на практике: нумерация строк, доступ к физическому адресу, работа с иерархиями, определение листовых/корневых узлов, генерация UUID, отслеживание изменений по SCN и просмотр историй строк.
➡️ SQL Ready | #шпора
Available now! Telegram Research 2025 — the year's key insights 
