[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] Lv2. ์ค‘๋ณต ์ œ๊ฑฐํ•˜๊ธฐ [SUM, MAX, MIN]

2022. 9. 22. 15:14ใ†์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_2022

728x90

 

๋ฌธ์ œ ์„ค๋ช…

ANIMAL_INS ํ…Œ์ด๋ธ”์€ ๋™๋ฌผ ๋ณดํ˜ธ์†Œ์— ๋“ค์–ด์˜จ ๋™๋ฌผ์˜ ์ •๋ณด๋ฅผ ๋‹ด์€ ํ…Œ์ด๋ธ”์ž…๋‹ˆ๋‹ค. ANIMAL_INS ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์œผ๋ฉฐ, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE๋Š” ๊ฐ๊ฐ ๋™๋ฌผ์˜ ์•„์ด๋””, ์ƒ๋ฌผ ์ข…, ๋ณดํ˜ธ ์‹œ์ž‘์ผ, ๋ณดํ˜ธ ์‹œ์ž‘ ์‹œ ์ƒํƒœ, ์ด๋ฆ„, ์„ฑ๋ณ„ ๋ฐ ์ค‘์„ฑํ™” ์—ฌ๋ถ€๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

 

NAME                                                                                   TYPE                                                      NULLABLE
ANIMAL_ID VARCHAR(N) FALSE
ANIMAL_TYPE VARCHAR(N) FALSE
DATETIME DATETIME FALSE
INTAKE_CONDITION VARCHAR(N) FALSE
NAME VARCHAR(N) TRUE
SEX_UPON_INTAKE VARCHAR(N) FALSE

๋™๋ฌผ ๋ณดํ˜ธ์†Œ์— ๋“ค์–ด์˜จ ๋™๋ฌผ์˜ ์ด๋ฆ„์€ ๋ช‡ ๊ฐœ์ธ์ง€ ์กฐํšŒํ•˜๋Š” SQL ๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ด๋•Œ ์ด๋ฆ„์ด NULL์ธ ๊ฒฝ์šฐ๋Š” ์ง‘๊ณ„ํ•˜์ง€ ์•Š์œผ๋ฉฐ ์ค‘๋ณต๋˜๋Š” ์ด๋ฆ„์€ ํ•˜๋‚˜๋กœ ์นฉ๋‹ˆ๋‹ค.

 

์˜ˆ์‹œ

์˜ˆ๋ฅผ ๋“ค์–ด ANIMAL_INS ํ…Œ์ด๋ธ”์ด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค๋ฉด

ANIMAL_ID         ANIMAL_TYPE     DATETIME                        INTAKE_CONDITION  NAME   SEX_UPON_INTAKE
A562649 Dog 2014-03-20 18:06:00 Sick NULL Spayed Female
A412626 Dog 2016-03-13 11:17:00 Normal *Sam Neutered Male
A563492 Dog 2014-10-24 14:45:00 Normal *Sam Neutered Male
A513956 Dog 2017-06-14 11:54:00 Normal *Sweetie Spayed Female

๋ณดํ˜ธ์†Œ์— ๋“ค์–ด์˜จ ๋™๋ฌผ์˜ ์ด๋ฆ„์€ NULL(์—†์Œ), *Sam, *Sam, *Sweetie์ž…๋‹ˆ๋‹ค. ์ด ์ค‘ NULL๊ณผ ์ค‘๋ณต๋˜๋Š” ์ด๋ฆ„์„ ๊ณ ๋ คํ•˜๋ฉด, ๋ณดํ˜ธ์†Œ์— ๋“ค์–ด์˜จ ๋™๋ฌผ ์ด๋ฆ„์˜ ์ˆ˜๋Š” 2์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ SQL๋ฌธ์„ ์‹คํ–‰ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‚˜์™€์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

count
2

โ€ป ์ปฌ๋Ÿผ ์ด๋ฆ„(์œ„ ์˜ˆ์ œ์—์„œ๋Š” count)์€ ์ผ์น˜ํ•˜์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค.

 

๋‚˜์˜ ํ’€์ด [MySQL] 

SELECT  COUNT(DISTINCT NAME)   FROM ANIMAL_INS WHERE NAME IS NOT NULL;

-> ๋ฌธ์ œ๊ฐ€ ์š”๊ตฌํ•˜๋Š” ๊ฒƒ์€ ๋จผ์ € ๋™๋ฌผ ๋ณดํ˜ธ์†Œ์— ๋“ค์–ด์˜จ ๋™๋ฌผ์˜ ์ด๋ฆ„์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ์ธ๋ฐ ์ด๋•Œ NULL ๊ฐ’์€ ์ œ์™ธํ•˜๊ณ , ์ค‘๋ณต๋„ ์ œ์™ธํ•ด์•ผ ํ•œ๋‹ค. 

๊ทธ๋Ÿฌ๋ฉด ์šฐ์„  WHERE NAME IS NOT NULL์„ ํ†ตํ•ด์„œ NULL ๊ฐ’์€ COUNTํ•˜์ง€ ์•Š๋„๋ก ์กฐ๊ฑด์„ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค.

๊ทธ๋ฆฌ๊ณ  DISTINCT๋ฅผ ํ†ตํ•ด ์ด๋ฆ„์˜ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•ด์ค€ ๋‹ค์Œ์— COUNT ํ•ด์ฃผ๋ฉด ์›ํ•˜๋Š” ๊ฐ’์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. 

 

COUNT์•ˆ์— DISTINCT๋ฅผ ๊ฐ™์ด ์‚ฌ์šฉํ•ด๋„ ๋˜๋ ค๋‚˜ ? ์‹ถ์—ˆ๋Š”๋ฐ ๊ทธ๋ ‡๊ฒŒ ํ•˜๋‚˜๋ณด๋‹น,, 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90