Слайс

Аналитический тренажер

COUNT в SQL: как посчитать количество строк?

COUNT - это агрегатная функция SQL, которая считает количество строк. Она используется, когда нужно узнать число пользователей, заказов, событий, товаров или платежей.
Впервые увидев таблицу, мы хотим посчитать количество строк в ней:
select count(*)
from users
Если мы хотим посчитать строки по условию, то можем комбинировать агрегацию COUNT и фильтр WHERE. Например, в запросе ниже мы считаем количество пользоватей из России с платежами более 500 руб.:
select count(*)
from users
where country='RU' and amount>500
Если нам нужно посчитать данные какого-то конкретного поля и, например, уникальные значения в этом поле, мы можем использовать следующую конструкцию:
select count(user_id), count(distinct user_id)
from users
DISTINCT в данном контексте - это отбор только уникальных значений. Таким образом, в результатах запроса выше мы увидим, есть ли в таблице users дубли. Если дубли есть, то запрос:
select count(*)
from users
, посчитает не количество пользоваталей, а количество строк, которое никак нельзя интерпретировать, как количество пользователей.

Внимательно следите за тем, что в полях могут быть повторяющиеся значения, существенно влияющие на результаты анализа!
Открыть тренажер