녕녀기의 실험일지

[ Oracle ] COUNT() 함수를 이용한 집계 본문

-- Data --/- SQL -

[ Oracle ] COUNT() 함수를 이용한 집계

녕녀기 2023. 6. 1. 13:03

본문으로

 

안녕하세요. 녀기입니다.

 

굉장히 오랜만이군요.

 

(롱 타임 노 씨?ㅋㅋㅋ)

 

요즘 출퇴근 시간이 약 4시간이 걸리는 바람에

 

너무 잠이 모자라고,

 

운동은 안 하면 체력 떨어지고 해서, 공부에 좀 소홀했습니다....

 

(봐주세용😂)

 

SQLD를 따 놨지만, 사실상 기술이라는 것이

 

써 먹지 않으면, 막상 중요할 때 안 써지거든요~~

 

그래서 연습을 하다가 하나를 포스팅하려고 합니다.

 

완전 간단하고 기본인 걸로!!

 

그럼 렛츠 고도리!!


COUNT()

id 이름
0 null
1 보리
2 보리
3
4 초코

TABLE 1. 강아지 이름

 

위와 같이 테이블이 하나 있습니다.

 

강아지 이름이 저장돼 있는 테이블입니다.

 

이제 이 테이블에 저장된 강아지 이름은 몇 개가 있는지 세어 볼까요?

 

우리는 COUNT() 함수를 이용해 개수를 셀 수 있습니다.

SELECT COUNT(*), COUNT(이름), COUNT(DISTINCT 이름)
FROM 강아지_이름;

COUNT() 함수를 세 가지 방법으로 표현했습니다.

 

1. COUNT(*) 함수 안에 asterisk를 넣어서 null을 포함한 개수를 집계

2. COUNT(컬럼명)을 통해 null을 제외한 개수를 집계

3. COUNT(DISTINCT 컬럼명)을 통해 중복을 제외한 개수 집계

 

 

출력을 어떻게 해 줄까요?

  COUNT(*) COUNT(이름) COUNT(DISTINCT 이름)
1 5 4 3

 

위와 같이 표현됩니다.

 

첫 번째의 경우는 NULL을 포함해서 집계를 하기 때문에, [ NULL, '보리', '보리', '콩', '초코'  ] 5개 입니다.

 

두 번째의 경우는 NULL을 제외해서 집계를 하기 때문에, [ '보리', '보리', '콩', '초코'  ] 4개 입니다.

 

세 번째의 경우는 NULL도 빼고, 중복도 제외합니다.

 

'보리'가 중복되기 때문에, [ '보리', '콩', '초코'  ] 3개 입니다.

 

중복된 데이터는 하나로 취급해서 출력하는 것을 보실 수 있습니다.


음 SQLD 공부를 할 때가 조금씩 생각이 나는 것 같아요.

 

이렇게 조금조금씩 기억을 살려 내겠습니다!!

 

(기억해줘!!)

 

Comments