programing

SQL: 열에서 고유한 값 수를 찾습니다.

closeapi 2023. 4. 11. 22:03
반응형

SQL: 열에서 고유한 값 수를 찾습니다.

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

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

하지만 이 쿼리에서 행 수를 어떻게 얻습니까?서브쿼리가 필요합니까?

를 사용할 수 있습니다.DISTINCT키워드를 지정합니다.

SELECT COUNT(DISTINCT column_name) AS some_alias FROM table_name

그러면 해당 열에 대해 고유한 값만 카운트됩니다.

그러면 고유한 열 값과 각 값의 카운트가 모두 제공됩니다.나는 보통 두 가지 정보를 모두 알고 싶어 한다.

SELECT [columnName], count([columnName]) AS CountOf
FROM [tableName]
GROUP BY [columnName]

column_name의 고유한 값의 sql 합계를 빈도로 정렬합니다.

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

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

select count(distinct my_col)
       + count(distinct Case when my_col is null then 1 else null end)
from my_table
/
SELECT COUNT(DISTINCT column_name) FROM table as column_name_count;

구별되는 콜을 세고 가명을 붙여야 해

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

이렇게 하면 개별 열 그룹의 수가 표시됩니다.

select Count(distinct columnName) as columnNameCount from tableName 

다음 SQL을 사용하면 Oracle 11g에서 고유한 열 값 를 얻을 수 있습니다.

select count(distinct(Column_Name)) from TableName

MS SQL Server 2012 이후에는 윈도우 기능도 사용할 수 있습니다.

SELECT column_name, COUNT(column_name) OVER (PARTITION BY column_name) 
FROM table_name
GROUP BY column_name

Presto에서 다음을 사용하여 이를 수행하려면:

SELECT DISTINCT my_col,
                count(*) OVER (PARTITION BY my_col
                               ORDER BY my_col) AS num_rows
FROM my_tbl

이것을 사용하여OVER물론, 베이스의 어프로치는 옵션입니다.위의 SQL에서 다음을 지정했습니다.DISTINCT그리고.ORDER BY필요하기 때문입니다.

주의:매뉴얼에 따르면GROUP BY더 효율적일 수 있습니다.

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

이 쿼리를 사용하여 다른/구별 데이터를 셀 수 있습니다.

DISTINT를 사용하지 않고 이렇게 할 수 있습니다.

SELECT COUNT(C)
FROM (SELECT COUNT(column_name) as C
FROM table_name
GROUP BY column_name)

개수(구분({fieldname})가 중복됨

Simply Count({fieldname})는 해당 표의 모든 개별 값을 제공합니다.(많은 사람이 추측하는 것처럼) 단순히 표의 카운트만 제공하는 것은 아닙니다(즉, 표의 카운트(*)와 동일하지 않습니다).

언급URL : https://stackoverflow.com/questions/141562/sql-to-find-the-number-of-distinct-values-in-a-column

반응형