Библиотека баз данных
10.4K subscribers
199 photos
7 videos
27 files
218 links
Самая большая библиотека бесплатных книг по SQL

По всем вопросам- @haarrp

@ai_machinelearning_big_data - machine learning

@pythonl - Python

@itchannels_telegram - 🔥 best it channels

@ArtificialIntelligencedl - AI

РКН:  № 5037640984
Download Telegram
SQL хитрый совет для про 💡

Используй COUNT(*) FILTER вместо CASE WHEN — быстрее, чище и читаемее.

Как делают обычно:


SELECT
COUNT(CASE WHEN status = 'success' THEN 1 END) AS success_cnt,
COUNT(CASE WHEN status = 'error' THEN 1 END) AS error_cnt
FROM events;

Как делают профи:


Копировать код
SELECT
COUNT(*) FILTER (WHERE status = 'success') AS success_cnt,
COUNT(*) FILTER (WHERE status = 'error') AS error_cnt
FROM events;

Почему это важно:

- меньше вычислений внутри агрегаций
- оптимизатору проще строить план
- код короче и легче поддерживать
- особенно эффективно в аналитических запросах

Где работает:

- PostgreSQL
- SQLite (частично)
- DuckDB
- ClickHouse (через аналоги)

Мелочь, но именно из таких мелочей складывается SQL уровня senior.
👍92