SQL для определения количества различных значений в столбце

StackOverflow https://stackoverflow.com/questions/141562

  •  02-07-2019
  •  | 
  •  

Вопрос

Я могу выбрать все различные значения в столбце следующими способами:

  • SELECT DISTINCT column_name FROM table_name;
  • SELECT column_name FROM table_name GROUP BY column_name;

Но как мне получить количество строк из этого запроса?Требуется ли подзапрос?

Это было полезно?

Решение

Вы можете использовать DISTINCT ключевое слово в COUNT агрегатная функция:

SELECT COUNT(DISTINCT column_name) AS some_alias FROM table_name

При этом будут учитываться только различные значения для этого столбца.

Другие советы

Это даст вам КАК отдельные значения столбцов, так и количество каждого значения.Обычно я обнаруживаю, что хочу знать обе части информации.

select distinct columnName, count(columnName) as CountOf from tableName group by columnName

Имейте в виду, что Count() игнорирует нулевые значения, поэтому, если вам нужно разрешить значение null в качестве собственного отдельного значения, вы можете сделать что-то хитрое, например:

select count(distinct my_col)
       + count(distinct Case when my_col is null then 1 else null end)
from my_table
/
select count(*) from 
(
SELECT distinct column1,column2,column3,column4 FROM abcd
) T

Это даст количество отдельных групп столбцов.

SELECT COUNT(DISTINCT column_name) FROM table as column_name_count;

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

SQL-сумма уникальных значений column_name, отсортированных по частоте:

SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name ORDER BY 2 DESC;
select Count(distinct columnName) as columnNameCount from tableName 

**

Используя следующий SQL, мы можем получить количество значений отдельного столбца в Oracle 11g.

**

Select count(distinct(Column_Name)) from TableName
select count(distinct(column_name)) AS columndatacount from table_name where somecondition=true

Вы можете использовать этот запрос для подсчета разных данных.Спасибо

Count(distinct({имя_поля})) является избыточным

Simply Count({имя_поля}) выдает вам все различные значения в этой таблице.Это не будет (как многие предполагают) просто давать вам количество таблиц [т.е.НЕ то же самое, что Count(*) из таблицы]

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top