• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

count(*) >1의 의미

22.12.28 22:14 작성 조회수 463

0

count(*)의 의미는 아는데 >1을 하는게 어떻게 유니크한 값을 볼 수 있는건지 이해가 안됩니다

답변 2

·

답변을 작성해보세요.

0

beassles7님의 프로필

beassles7

질문자

2022.12.31

select distinct(col_a)

이런식으로 많이 썼엇는데 group by로 유니크한 값을 조회하는 거랑은 차이가 있는지 궁금합니다

select distinct(col_a)와 select col_a, count(*) group by col_a having count(*) > 1 은 목적이 다릅니다.

select distinct(col_a)는 무조건 중복을 제거하여 출력하는 것입니다. 반면에 select col_a, count(*) group by col_a having count(*) > 1 은 중복값이 있는지 여부를 판단해서 중복 값이 있으면 해당 컬럼이 pk가 아니라는 것을 판단하는 것입니다.

0

안녕하십니까,

특정 컬럼값으로 group by count(*)를 했을 때 count가 1보다 크면 유니크 하지 않습니다.

아래와 같이 컬럼 col_a 의 값이 유니크 하다면

col_a

'길동'

'춘향'

'몽룡'

select col_a, count(*) from table group by col_a 를 수행하면

'길동' 1

'춘향' 1

'몽룡' 1

과 같이 개별 값 별로 count 1이 추출됩니다.

하지만

컬럼 col_a 의 값이 아래와 같이 유니크 하지 않다면

col_a

'길동'

'춘향'

'춘향'

결과는 아래와 같이 1보다 큰 값이 count로 추출됩니다.

'길동' 1

'춘향' 2

 

감사합니다.