
- Главная
- Каталог
- Интернет технологии
- SQL Community
SQL Community
Всё о базах данных! Активная аудитория канала включает в себя специалистов из разных областей:
Программирование, Frontend, JavaScript, HTML, CSS, Python, Java, PHP, C++, SQL, BackEnd, Windows/Linux/MacOS, DevOps, Информационная Безопасность, нейросети, QA, GameDev
Статистика канала
user_id и дату третьего дня серии (то есть конец 3-дневной цепочки).
Ловушка:
1) В один день может быть несколько событий - их нельзя считать как разные дни
2) Дни должны идти подряд по календарю (не “3 записи подряд”)
-- PostgreSQL / MySQL 8+ (через window functions)
WITH uniq_days AS (
SELECT DISTINCT user_id, event_date
FROM user_events
),
grp AS (
SELECT
user_id,
event_date,
event_date
- INTERVAL '1 day' * (ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY event_date))
AS anchor
FROM uniq_days
),
runs AS (
SELECT
user_id,
MIN(event_date) AS start_day,
MAX(event_date) AS end_day,
COUNT(*) AS days_cnt
FROM grp
GROUP BY user_id, anchor
)
SELECT user_id, end_day AS third_day
FROM runs
WHERE days_cnt >= 3
ORDER BY user_id, third_day;
{}
Почему это работает:
- DISTINCT убирает повторы в один день
- “anchor” превращает подряд идущие даты в одну группу
- дальше считаем длину серии и берём конец
-- 1) таблица миграций (если нет инструмента)
create table if not exists schema_migrations (
version text primary key,
applied_at timestamptz not null default now()
);
-- 2) миграция: добавляем колонку безопасно
alter table users add column if not exists phone text;
-- 3) перенос данных (пример)
update users
set phone = regexp_replace(contact, '[^0-9+]', '', 'g')
where phone is null and contact is not null;
-- 4) фиксируем версию миграции
insert into schema_migrations(version)
values ('2026_01_21_add_users_phone')
on conflict do nothing;{}
💬 Всем зарегистрировавшимся Simulative пришлют полезный материал — карту компетенций аналитика данных со всеми нужными инструментами для освоения. 🔗 Регистрируйтесь на бесплатный вебинар🟠 На примерах из Dodo посмотрим, как вести задачу от сырых данных до рабочего дашборда.🟠 Почему универсальные навыки стали преимуществом и как джуну соответствовать этому фильтру.🟠 Советы от HR, как доработать резюме и отклики, чтобы «пробивать» автоматические фильтры и внимание рекрутеров.
pip install -U polars.env
3) Схема меняется только через миграции (Flyway / Liquibase / EF / Alembic)
4) Добавляем init-скрипты + seed данные (опционально)
5) Делаем healthcheck, чтобы сервис не стартовал раньше БД
6) Добавляем backup/restore команды (минимум — дамп)
Итог:
- один репозиторий = одна база
- любые изменения схемы воспроизводимы
- новый разработчик стартует за 3 минуты
1) Создай .env (пример)
cat > .env << 'EOF'
POSTGRES_DB=app
POSTGRES_USER=app
POSTGRES_PASSWORD=app123
POSTGRES_PORT=5432
EOF
# 2) docker-compose.yml для Postgres + healthcheck
cat > docker-compose.yml << 'EOF'
services:
postgres:
image: postgres:16
container_name: app-postgres
restart: unless-stopped
environment:
POSTGRES_DB: ${POSTGRES_DB}
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
ports:
- "${POSTGRES_PORT}:5432"
volumes:
- pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"]
interval: 5s
timeout: 3s
retries: 20
volumes:
pgdata:
EOF
3) Запуск
docker compose up -d
4) Проверка
docker compose ps
5) Дамп (на всякий)
docker exec -t app-postgres pg_dump -U app app > backup.sql
6) Восстановление
cat backup.sql | docker exec -i app-postgres psql -U app -d app{}
Отзывы канала
всего 7 отзывов
- Добавлен: Сначала новые
- Добавлен: Сначала старые
- Оценка: По убыванию
- Оценка: По возрастанию
Каталог Телеграм-каналов для нативных размещений
SQL Community — это Telegam канал в категории «Интернет технологии», который предлагает эффективные форматы для размещения рекламных постов в Телеграмме. Количество подписчиков канала в 12.7K и качественный контент помогают брендам привлекать внимание аудитории и увеличивать охват. Рейтинг канала составляет 39.3, количество отзывов – 7, со средней оценкой 4.9.
Вы можете запустить рекламную кампанию через сервис Telega.in, выбрав удобный формат размещения. Платформа обеспечивает прозрачные условия сотрудничества и предоставляет детальную аналитику. Стоимость размещения составляет 8391.6 ₽, а за 43 выполненных заявок канал зарекомендовал себя как надежный партнер для рекламы в TG. Размещайте интеграции уже сегодня и привлекайте новых клиентов вместе с Telega.in!
Вы снова сможете добавить каналы в корзину из каталога
Комментарий