Day 18

ํ–‰ ๊ฐฏ์ˆ˜ ๊ตฌํ•˜๊ธฐ - COUNT

SQL์—๋Š” ์•„์ฃผ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๋Œ€ํ‘œ์ ์ธ SQL๋ฌธ์ด ์—ฌ๋Ÿฌ๊ฐœ ์žˆ๋‹ค ์ด๋ฒˆ์—๋Š” COUNT์ด๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ๋ณผ ๊ฒƒ์ด๋‹ค

COUNT๋กœ ํ–‰ ๊ฐœ์ˆ˜ ๊ตฌํ•˜๊ธฐ

SQL์€ ์ง‘ํ•ฉ์„ ๋‹ค๋ฃจ๋Š” ์ง‘๊ณ„ํ•จ์ˆ˜๋ฅผ ์ œ๊ณตํ•ด์ฃผ๊ณ  ์ผ๋ฐ˜์ ์œผ๋กœ ํ•จ์ˆ˜๋Š” ์ธ์ˆ˜๋กœ ํ•˜๋‚˜์˜ ๊ฐ’์„ ์ง€์ •ํ•˜๋Š”๋ฐ ๋น„ํ•ด ์ง‘๊ณ„ํ•จ์ˆ˜๋Š” ์ธ์ˆ˜๋กœ ์ง‘ํ•ฉ์„ ์ง‘์–ด๋„ฃ๋Š”๋‹ค ์˜ˆ์‹œ๋กœ COUNT ํ•จ์ˆ˜๋Š” ์ธ์ˆ˜๋กœ ์ฃผ์–ด์ง„ ์ง‘ํ•ฉ์˜ ๊ฐฏ์ˆ˜๋ฅผ ๊ตฌํ•ด์„œ ๋ฆฌํ„ดํ•ด์ค€๋‹ค

img.png ์ด๋ ‡๊ฒŒ ๋ด๋ณด๋ฉด ๊ทธ๋ƒฅ SELECT๋ฅผ ๋•Œ๋ ค๋ณด๋ฉด 5๊ฐœ์˜ ํ–‰์ด ํŠ€์–ด๋‚˜์˜ค๊ณ  COUNT(*) ์ „์ฒด๋ฅผ ์กฐํšŒํ•ด๋ณด๋ฉด 5๊ฐœ๋ผ๊ณ  ์ˆซ์ž๋กœ ํ‘œํ˜„ํ•ด์ฃผ๊ณ  ์žˆ๋‹ค ์˜›๋‚ ์—๋„ ๋ดค๊ฒ ์ง€๋งŒ *(์™€์ผ๋“œ์นด๋“œ)๋Š” ๋ชจ๋“  ์—ด์„ ์˜๋ฏธํ•˜๊ณ , COUNTํ•จ์ˆ˜์—์„œ๋Š” ํ…Œ์ด๋ธ” ์ „์ฒด๋ผ๋Š” ์˜๋ฏธ๋กœ ์‚ฌ์šฉ๋œ๋‹ค COUNT๋Š” ์ธ์ˆ˜๋กœ ์ง€์ •๋œ ์ง‘ํ•ฉ์˜ ๊ฐฏ์ˆ˜๋กœ ๊ณ„์‚ฐ๋˜๋Š” ๊ฒƒ์ด๋‹ค

์ง‘๊ณ„ํ•จ์ˆ˜์˜ ํŠน์ง•์€ ๋ณต์ˆ˜์˜ ๊ฐ’์—์„œ ํ•˜๋‚˜์˜ ๊ฐ’์„ ๊ณ„์‚ฐํ•ด๋‚ด๋Š” ๊ฒƒ์ด๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ํ•จ์ˆ˜๋Š” ํ•˜๋‚˜์˜ ํ–‰์— ๋Œ€ํ•˜์—ฌ ํ•˜๋‚˜์˜ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋Š”๋ฐ, ์ง‘๊ณ„ํ•จ์ˆ˜๋Š” ์ง‘ํ•ฉ์œผ๋กœ๋ถ€ํ„ฐ ํ•˜๋‚˜์˜ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๊ณ  ์ด๋ ‡๊ฒŒ ๋‹ค์ˆ˜์˜ ์ง‘ํ•ฉ์œผ๋กœ๋ถ€ํ„ฐ ํ•˜๋‚˜์˜ ๊ฐ’์„ ๋„์ถœํ•ด๋‚ด๋Š” ๊ฒƒ์„ ์ง‘๊ณ„๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค ๊ทธ๋ฆฌ๊ณ  ์ง‘๊ณ„ํ•จ์ˆ˜๋ฅผ SELECT์— ์‚ฌ์šฉํ•˜๋ฉด WHERE์ ˆ์ด ์žˆ๋“  ์—†๋Š” ๊ฒฐ๊ณผ๊ฐ’์œผ๋กœ ํ•˜๋‚˜์˜ ํ–‰๋งŒ ๋ฆฌํ„ดํ•จ

WHERE ๊ตฌ ์ง€์ •

img_1.png ์—ฌ๊ธฐ์„œ ๋ณด๋ฉด WHERE์ ˆ์— ์กฐ๊ฑด์„ 2๊ฐœ ๋„ฃ์–ด์ฃผ๊ณ  ์ฟผ๋ฆฌํ•˜๋ฉด 2๊ฐœ์˜ ๊ฐ’์ด ํŠ€์–ด๋‚˜์˜ค์ง€๋งŒ count ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋‹ˆ๊นŒ 2๊ฐœ์˜ ์กฐ๊ฑด์„ ์„ธ์„œ 2๋ผ๋Š” ๊ฐ’์œผ๋กœ ํ•˜๋‚˜์˜ ํ–‰์— ์ถœ๋ ฅํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค

์ง‘๊ณ„ํ•จ์ˆ˜์™€ NULL ๊ฐ’

COUNT์˜ ์ธ์ˆ˜๋กœ ์—ด๋ช…์„ ์ง€์ •ํ•ด์ค„ ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด๋ ‡๊ฒŒ ์ง€์ •ํ•˜๋ฉด ๊ทธ ์—ด ๋‚ด๋ถ€์—์„œ ํ–‰์˜ ๊ฐฏ์ˆ˜๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค ์ด๋ ‡๊ฒŒ ๊ฐฏ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๊ณผ์ •์—์„œ ์ค‘์š”ํ•œ๊ฑด NULL์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ์ด๋‹ค -> ์ผ๋‹จ ์ง‘๊ณ„ํ•จ์ˆ˜๋Š” ์ง‘ํ•ฉ ์•ˆ์— NULL๊ฐ’์ด ์žˆ๋‹ค๋ฉด ์ œ์™ธํ•˜๊ณ  ์ฒ˜๋ฆฌํ•œ๋‹ค, ์ฆ‰ ๋ฌด์‹œํ•œ๋‹ค๊ณ  ์ƒ๊ฐ

DISTINCT๋กœ ์ค‘๋ณต ์ œ๊ฑฐ

SELECTํ• ๋•Œ ๋ดค๋Š”์ง€ ์•ˆ๋ดค๋Š”์ง€๋Š” ๊ฐ€๋ฌผ๊ฐ€๋ฌผํ•˜์ง€๋งŒ ์ผ๋‹จ DISTINCT๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ๋˜๋ฉด ๋งŒ์•ฝ ์ค‘๋ณต๋œ ๊ฐ’์ด ์žˆ๋‹ค๋ฉด ์ค‘๋ณต๋œ ๊ฐ’์„ ์ณ๋‚ด๊ณ  ํ•˜๋‚˜๋งŒ ์ถœ๋ ฅํ•˜๊ฑฐ๋‚˜ ๊ธฐ์ค€์œผ๋กœ ์‚ผ๋Š” ๊ทธ๋Ÿฐ ๋ช…๋ น์–ด์ด๋‹ค ๋ญ ๊ธธ๊ฒŒ ์ ์—ˆ์ง€๋งŒ ์ค‘๋ณต๋œ ๊ฐ’์„ ์ œ๊ฑฐํ•˜๋Š” ํ•จ์ˆ˜์ด๊ณ  ์ด๊ฑธ ์‚ฌ์šฉํ•ด์„œ ์ค‘๋ณต์„ ์ณ๋‚ด๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค DISTINCT์˜ ๋ฐ˜๋Œ€ ์˜ˆ์•ฝ์–ด๋กœ๋Š” ALL์ด ์žˆ๋‹ค ๋””ํดํŠธ๊ฐ’์ด๊ธฐ๋„ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ƒฅ ์ด๋Ÿฐ๊ฒŒ ์žˆ๋‹ค๊ณ ๋งŒ ์•Œ์•„๋‘์ž

COUNT ์ด์™ธ์˜ ์ง‘๊ณ„ํ•จ์ˆ˜

์ง‘๊ณ„ํ•จ์ˆ˜์—๋Š” count ์ด์™ธ์—๋„ SUM, AVG, MIN, MAXํ•จ์ˆ˜๊ฐ€ ์กด์žฌํ•œ๋‹ค

SUM์œผ๋กœ ํ•ฉ๊ณ„ ๊ตฌํ•˜๊ธฐ

SUM์ด๋ผ๋Š” ์ง‘๊ณ„ํ•จ์ˆ˜๋Š” ์ง‘ํ•ฉ์˜ ํ•ฉ๊ณ„๋ฅผ ๊ตฌํ•ด์ฃผ๋Š” ํ•จ์ˆ˜์ด๋‹ค img.png ์ด๋ ‡๊ฒŒ sample51์ด๋ผ๋Š” ํ…Œ์ด๋ธ”์—์„œ์˜ quantity๋ผ๋Š” ํ–‰์˜ ์ˆซ์ž๋ฅผ ๋”ํ•œ ๊ฐ’์ด ๋‚˜์˜จ๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธ ๊ฐ€๋Šฅ SUM ํ•จ์ˆ˜์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ’์€ ์˜ค์ง ์ˆ˜์น˜ํ˜• ๋ฟ์ด๋‹ค. ๋ฌธ์ž์—ด์ด๋‚˜ ๋‚ ์งœํ˜•์œผ๋กœ๋Š” ํ•ฉ๊ณ„๋ฅผ ๊ตฌํ•  ์ˆ˜ ์—†๋‹ค ์‚ฌ์ง„์„ ๋ณด๋ฉด ์•Œ๊ฒ ์ง€๋งŒ countํ•จ์ˆ˜์™€ ๊ฐ™์ด null๊ฐ’์€ ๋ฌด์‹œํ•˜๊ณ  ์ œ๊ฑฐํ•œ ๋’ค์— ํ•ฉ๊ณ„๋ฅผ ๋‚ด๊ณ  ์žˆ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค

AVG๋กœ ํ‰๊ท ๋‚ด๊ธฐ

์œ„์—์„œ sum์œผ๋กœ ํ•ฉ์„ ๋‚ธ ๊ฒƒ์„ ๊ฐ€์ง€๊ณ  ํ‰๊ท ์„ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค ๋ฌผ๋ก  ๋‹จ์ˆœํ•˜๊ฒŒ sum(quantity)/count(quantity) ์ด๋ ‡๊ฒŒ ์ˆ˜์‹์œผ๋กœ ํ‘œํ˜„ํ•ด์„œ ํ‰๊ท ์„ ๋ณผ ์ˆ˜๋„ ์žˆ์ง€๋งŒ AVG๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์–ด๋ ต์ง€ ์•Š๊ฒŒ ํ‰๊ท ์„ ๊ตฌํ•  ์ˆ˜ ์žˆ์Œ img_1.png avg๋ผ๋Š” ์ง‘๊ณ„ํ•จ์ˆ˜๋„ null์„ ๋ฌด์‹œํ•˜๊ณ  ์ง„ํ–‰ํ•œ๋‹ค. ๋งŒ์•ฝ์— null์„ 0์œผ๋กœ ๊ฐ„์ฃผํ•ด์„œ ์ง„ํ–‰ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด CASE๋ฌธ์œผ๋กœ null์„ 0์œผ๋กœ ํ•œ๋ฒˆ ๋ณ€ํ™˜ํ•˜๊ณ  ์‚ฌ์šฉํ•ด์•ผํ•จ img_2.png

MIN, MAX์œผ๋กœ ์ตœ์†Ÿ๊ฐ’, ์ตœ๋Œ“๊ฐ’ ๊ตฌํ•˜๊ธฐ

MIN, MAX๋Š” ์ด๋ฆ„ ๊ทธ๋Œ€๋กœ ์ตœ์†Ÿ๊ฐ’, ์ตœ๋Œ€๊ฐ’์„ ๋„์ถœํ•ด์ฃผ๋Š” ํ•จ์ˆ˜์ด๋‹ค ๊ทธ๋ž˜์„œ ํ™•์ธํ•ด๋ด์•ผํ•˜๋Š” ๋ถ€๋ถ„์€ ๋ฌธ์ž์—ด์ด๋‚˜ ๋‚ ์”จ์‹œ๊ฐ„ํ˜•์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ! ๊ทธ๋ฆฌ๊ณ  null๊ฐ’์€ ์—ฌ์ „ํžˆ ๋ฌด์‹œํ•œ๋‹ค๋Š” ์ !

Last updated

Was this helpful?