COUNT
Считает количество строк или непустых значений в группе.
COUNT(*) | COUNT(column) | COUNT(DISTINCT column)
Объяснение
Пример
SELECT COUNT(*) AS total_rows, COUNT(email) AS with_email, COUNT(DISTINCT country) AS unique_countries FROM users;
Связанные термины
Анекдоты по теме
Аналитик хочет топ-3 продукта в каждой категории. Пишет GROUP BY, ORDER BY, LIMIT 3. Получает топ-3 вообще, не по категориям. DBA: тебе нужна оконная функция. ROW_NUMBER() OVER (PARTITION BY category ORDER BY sales DESC) Потом WHERE rn <= 3. Аналитик: почему это не просто LIMIT 3 внутри GROUP BY?! DBA: потому что SQL так работает.
Почему HAVING обижается на WHERE? — Потому что WHERE фильтрует строки ДО группировки, а HAVING — ПОСЛЕ. WHERE думает, что он главный, а HAVING знает: истина где-то в агрегатах.
— Зачем нужен DISTINCT в COUNT? — COUNT(DISTINCT user_id) считает уникальных пользователей. — А COUNT(user_id) без DISTINCT? — Считает все посещения, включая повторные. — Это как считать людей на концерте vs количество входов.