[sql] 열에서 고유 한 값 수를 찾는 SQL

다음과 같은 방법으로 열의 모든 고유 값을 선택할 수 있습니다.

  • 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 [columnName], count([columnName]) AS CountOf
FROM [tableName]
GROUP BY [columnName]


답변

Count ()는 null 값을 무시하므로 null을 고유 한 값으로 허용해야하는 경우 다음과 같은 까다로운 작업을 수행 할 수 있습니다.

select count(distinct my_col)
       + count(distinct Case when my_col is null then 1 else null end)
from my_table
/


답변

column_name 고유 값의 SQL 합계는 빈도별로 정렬됩니다.

SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name ORDER BY 2 DESC;


답변

select count(*) from
(
SELECT distinct column1,column2,column3,column4 FROM abcd
) T

이것은 별개의 열 그룹 수를 제공합니다.


답변

SELECT COUNT(DISTINCT column_name) FROM table as column_name_count;

고유 한 열을 세고 별명을 지정해야합니다.


답변

select Count(distinct columnName) as columnNameCount from tableName