SQL
[SQL] ๋๋ช ๋๋ฌผ ์ ์ฐพ๊ธฐ (GROUP BY, HAVING)
_๋ณด๋ฆ
2021. 2. 26. 19:07
๐ฅ ๋ฌธ์
๋๋ฌผ ๋ณดํธ์์ ๋ค์ด์จ ๋๋ฌผ ์ด๋ฆ ์ค ๋ ๋ฒ ์ด์ ์ฐ์ธ ์ด๋ฆ๊ณผ ํด๋น ์ด๋ฆ์ด ์ฐ์ธ ํ์๋ฅผ ์กฐํํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์. ์ด๋ ๊ฒฐ๊ณผ๋ ์ด๋ฆ์ด ์๋ ๋๋ฌผ์ ์ง๊ณ์์ ์ ์ธํ๋ฉฐ, ๊ฒฐ๊ณผ๋ ์ด๋ฆ ์์ผ๋ก ์กฐํํด์ฃผ์ธ์.
๐ค ํ์ด ๋ฐฉ๋ฒ
COUNT
: ์ด๋ฆ์ด ์ฐ์ธ ํ์๋ฅผ ์กฐํํ๋ค.AS
๋ฅผ ์ฌ์ฉํ์ฌCOUNT(NAME)
์COUNT
๋ก ์ฌ๋ช ๋ช ํ๋ค.
HAVING
: ๋ ๋ฒ ์ด์ ์ฐ์ธ ์ด๋ฆ๋ง ์กฐํํ๊ธฐ ์ํ์ฌ ์กฐ๊ฑด์ ๊ฑด๋ค.AS
๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ๋ช ๋ช ํCOUNT
๊ฐ 1๋ณด๋ค ํฌ๋ค๋ ์กฐ๊ฑด์ ๊ฑธ์ด ๋ ๋ฒ ์ด์ ์ฐ์ธ ์ด๋ฆ๋ง ์กฐํํ๋ค.
IS NOT NULL
: ์ด๋ฆ์ด ์๋ ๋๋ฌผ์ ์ง๊ณ์์ ์ ์ธํ๋ค.- ์กฐํ ์กฐ๊ฑด์ ์ํ์ฌ
WHERE
๋ฅผ ์ฌ์ฉํ๋ค.
- ์กฐํ ์กฐ๊ฑด์ ์ํ์ฌ
ORDER BY
: ๊ฒฐ๊ณผ๋ ์ด๋ฆ ์์ผ๋ก ์กฐํํ๋ค.
๐ฉ๐ป๐ป SQL
SELECT NAME, COUNT(NAME) AS COUNT
FROM ANIMAL_INS
WHERE NAME IS NOT NULL
GROUP BY NAME
HAVING COUNT > 1
ORDER BY NAME
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋๋ช ๋๋ฌผ ์ ์ฐพ๊ธฐ
ANIMAL_INS ํ ์ด๋ธ์ ๋๋ฌผ ๋ณดํธ์์ ๋ค์ด์จ ๋๋ฌผ์ ์ ๋ณด๋ฅผ ๋ด์ ํ ์ด๋ธ์ ๋๋ค. ANIMAL_INS ํ ์ด๋ธ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE๋ ๊ฐ๊ฐ ๋๋ฌผ์ ์์ด๋
programmers.co.kr