SQL Подсчет уникальных значений?
как подсчитать сколько вообще уникальных пользователей user_id в этой таблице?
отдельной таблицы users нет, поэтому подсчитать нормально нет возможности
- Вопрос задан более трёх лет назад
- 50802 просмотра
- Вконтакте

Запрос выше выдаст список уникальных значений
Этот запрос выведет количество
SELECT COUNT(DISTINCT user_id) FROM orders
Функция COUNT() в SQL
Функция COUNT() подсчитывает количество строк в таблице. Например:
Здесь мы подсчитываем и возвращаем количество строк в таблице Customers.

Использование псевдонимов с функцией COUNT()
В примере выше на выходе мы получили столбец с именем COUNT(*) . Мы можем изменить его название с помощью оператора AS. Например:
Теперь у нас есть столбец total_customers вместо COUNT(*) .

Функция COUNT() с оператором WHERE
Рассмотрим пример использования функции COUNT() с оператором WHERE:
Здесь мы выводим количество клиентов из Великобритании (UK).

Функция COUNT() с оператором DISTINCT
Если нам нужно подсчитать количество уникальных строк (без дублей), то мы можем использовать функцию COUNT() с оператором DISTINCT. Например:
Здесь мы выводим количество уникальных стран.

Функция COUNT() с оператором GROUP BY
Функция COUNT() может использоваться с оператором GROUP BY для подсчета строк с похожими значениями. Например:
Здесь мы подсчитываем и выводим количество клиентов в каждой стране.

Функция COUNT() с оператором HAVING
Рассмотрим пример использования функции COUNT() с оператором HAVING:
Здесь мы подсчитываем количество клиентов, группируя их по странам (country), а затем выводим, если в каждой стране их насчитывается больше 1.
Функция COUNT() со значениями NULL
SELECT COUNT(*) возвращает количество всех строк, независимо от значений NULL (т.е. вместе с ними).
SELECT COUNT(attribute) возвращает количество строк, содержащих ненулевые значения в указанном столбце.
Подсчет уникальных значений
Есть таблица org (name, emp_id). Для каждого возможного значения name , необходимо вывести количество уникальных emp_id . Можно ли это сделать с помощью count() или как ещё?
UPD: Немного расшифрую. Допустим
В результате необходимо получить что-то вроде
т.е. если emp_id повторяется в разных name , то их необходимо подсчитывать
Первая интерпретация вашего вопроса Для каждого name подсчитать уникальное количество emp_id
Вторая интерпретация, подсчитать так, что бы исключить emp_id встречающиеся у разных name Для этого пойдем от обратного подсчитаем количество name у emp_id , то есть нам необходимо исключить из выборки emp_id встречающиеся у нескольких name
SQL функция COUNT
В этом учебном материале вы узнаете, как использовать SQL функцию COUNT с синтаксисом и примерами.
Описание
SQL функция COUNT используется для подсчета количества строк, возвращаемых в операторе SELECT.
Синтаксис
Синтаксис для функции COUNT в SQL.
Или синтаксис для функции COUNT при группировке результатов по одному или нескольким столбцам.
Параметры или аргумент
Пример — функция COUNT включает только значения NOT NUL
Не все это понимают, но функция COUNT будет подсчитывать только те записи, в которых expressions НЕ равно NULL в COUNT( expressions ). Когда expressions является значением NULL, оно не включается в вычисления COUNT. Давайте рассмотрим это дальше.