TGViewer
SQL Portal | Базы Данных SQL Portal | Базы Данных @sqlportal · 13.8K subscribers
Post #1723 1.55K
В SQL есть разные уровни

📍Стиль 1

SELECT
COUNT(CASE
WHEN days_lost = 1 THEN NULL
ELSE days_lost
END
) AS count_of_days_lost
FROM safety;


Преимущества
— Явно видно, что происходит
— Очень гибкий, подходит для сложной логики

Недостатки
— Многословный, добавляет шум
— Часто используется там, где можно проще

📍Стиль 2

SELECT
COUNT(NULLIF(days_lost, 1)) AS count_of_days_lost
FROM safety;


Преимущества
— Коротко и аккуратно для простых условий
— Меньше шаблонного кода по сравнению с CASE

Недостатки
— Хуже читается для новичков
— Ограничен простыми проверками на равенство

📍Стиль 3

SELECT
COUNT(*) FILTER (WHERE days_lost != 1) AS count_of_days_lost
FROM safety;


Преимущества
— Читаемо, намерение выражено напрямую
— Логика отделена от агрегации
— Удобно при нескольких условиях

Недостатки
— Поддерживается не во всех диалектах SQL
— Менее распространен среди разработчиков

👉 @SQLPortal
  • 👍 1
More from @sqlportal
  1. Oct 12, 2026Команды SQL проще запомнить по назначению • DDL — создание и изменение структуры БД: CREAT…
  2. Oct 12, 2026Pandas: Python для повседневных задач аналитика 🐼 Загрузить файлы с неаккуратными данными…
  3. Oct 11, 2026Чтобы запросы оставались быстрыми, понятными и справлялись с ростом объёма данных, нужны х…
  4. Oct 11, 2026SQL: порядок написания ≠ порядок обработки Запрос начинается с SELECT, но логически обраба…
  5. Oct 10, 2026Какие навыки нужны дата-инженеру? В вакансиях прослеживается закономерность: на первом мес…
  6. Oct 10, 2026Бэкап есть? А если найду? 😳 👉 @SQLPortal
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →