Как посчитать количество уникальных значений в sql
Перейти к содержимому

Как посчитать количество уникальных значений в sql

  • автор:

SQL Подсчет уникальных значений?

как подсчитать сколько вообще уникальных пользователей user_id в этой таблице?

отдельной таблицы users нет, поэтому подсчитать нормально нет возможности

  • Вопрос задан более трёх лет назад
  • 50802 просмотра
  • Facebook
  • Вконтакте
  • Twitter

EreminD

Запрос выше выдаст список уникальных значений

Этот запрос выведет количество
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. Давайте рассмотрим это дальше.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *