๋ฐ์ดํฐ์ ๊ทธ๋ฃนํ
GROUB BY
1. ์ด ์ด๋ฆ์ผ๋ก ๊ทธ๋ฃนํ
์ง๊ณ ํจ์๋ฅผ ์ ์ธํ SELECT๋ฌธ์ ๋ชจ๋ ์ด์ GROUB BY์ ์ ์์ด์ผํจ
SELECT ๊ทธ๋ฃนํํ ์ด ์ด๋ฆ1, ๊ทธ๋ฃนํํ ์ด ์ด๋ฆ2, ์ง๊ณ ํจ์
FROM ํ
์ด๋ธ๋ช
WHERE ์กฐ๊ฑด์
GROUB BY ์ด ์ด๋ฆ1, ์ด ์ด๋ฆ2;
2. ์ด ์์น๋ก ๊ทธ๋ฃนํ
SELECT ๊ทธ๋ฃนํํ ์ด ์ด๋ฆ1, ๊ทธ๋ฃนํํ ์ด ์ด๋ฆ2, ์ง๊ณ ํจ์
FROM ํ
์ด๋ธ๋ช
WHERE ์กฐ๊ฑด์
GROUB BY 1, 2;
1. PPC_201312 ํ ์ด๋ธ์ ์ฌ์ฉํ์ฌ ๊ณ ๊ฐ๋ฑ๊ธ๋ณ ์ธ๋น ํ๊ท ์ฐ ์์ต์ ๊ณ์ฐํ๋ ค๋ฉด?
SELECT SEG, ANNL_REV
FROM PPC_201312
GROUP BY SEG;
2. PPC_201312 ํ ์ด๋ธ์ ์ฌ์ฉํ์ฌ ์นด๋์ํ๊ณผ ๋์ถ์ํ ๋ณด์ ๊ฐ์ ๊ด๊ณ๋ฅผ ์์๋ณด๋ ค๋ฉด?
SELECT CARD_FLG, LOAN_FLG, CNT
FROM PPC_201312
GROUP BY CARD_FLG, LOAN_FLG;
1. ์ํ๋ ์ด์ GROUP BY์ ์ ํฌํจํ ์ ์๋ค
=> GROUP BY์ ์ ํฌํจ๋๋ ์ด์ด ํ ๊ฐ์ฉ ์ฆ๊ฐํ ์๋ก ์ฐจ์์ด ํ ๊ฐ์ฉ ์ฆ๊ฐํ๊ณ ์ข ๋ ์ธ๋ถ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํ ์ ์์
2. GROUP BY์ ์ WHERE ์กฐ๊ฑด์ ๋ค์ ์์นํ๊ณ , ORDER BY์ ์์ ์์นํ๋ค
3. ๊ทธ๋ฃนํ๋ ์ด์ NULL๊ฐ์ ํฌํจํ ๊ฒฝ์ฐ NULL๊ฐ๋ ๊ทธ๋ฃนํ ๋๋ค
=> NULL๊ฐ์ ์ฌ๋ฌ ๊ฐ ํฌํจํ๊ณ ์์ ๊ฒฝ์ฐ ํ๋์ NULL๊ฐ์ผ๋ก ๊ทธ๋ฃนํ๋จ
๊ทธ๋ฃนํ๋ ๋ฐ์ดํฐ์ ํํฐ๋ง
1. ๊ทธ๋ฃนํ ๋ฐ์ดํฐ ํํฐ๋งํ๊ธฐ
HAVING์ WHERE ์กฐ๊ฑด์ ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์กฐ๊ฑด์ ์ฃผ๋ ์ญํ ์ ํ๋ค
=> ์ฐจ์ด๋ HAVING์ ๊ทธ๋ฃนํ๋ ๋ณ์์ ๋ํด ์กฐ๊ฑด์ ์ค
SELECT ๊ทธ๋ฃนํํ ์ด ์ด๋ฆ1, ์ง๊ณ ํจ์
FROM ํ
์ด๋ธ๋ช
WHERE ์กฐ๊ฑด์
GROUP BY ์ด ์ด๋ฆ1
HAVING ์ง๊ณ ํจ์ ์กฐ๊ฑด;
1. ๊ตฌ๋งคํ์๊ฐ ๋ ๋ฒ ์ด์์ธ ๊ณ ๊ฐ์๊ฒ ๋ง์ผํ ์ ํ๋ ค๊ณ ํ ๋ ๋ง์ผํ ๋์์๋ ๋๊ตฌ์ธ์ง ์์๋ด๋ ค๋ฉด?
SELECT CUST_NM, COUNT(*) AS CNT
FROM PROD_SALES
GROUP BY CUST_NM
HAVING COUNT(*) >= 2;
2. ๊ตฌ๋งค๊ธ์ก์ ํ๊ท ์ด 7๋ง์ ์ด์์ธ ๊ณ ๊ฐ์๊ฒ ๋ง์ผํ ์ ํ๋ ค๊ณ ํ ๋ ๋ง์ผํ ๋์์๋ ๋๊ตฌ์ธ์ง ์์๋ด๋ ค๋ฉด?
SELECT CUST_NM, AVG(SALES_AMT) AS SALES_AMT
FROM PROD_SALES
GROUB BY CUST_NM
HAVING AVG(SALES_AMT) >= 70000;
1. ๊ทธ๋ฃนํ ํํฐ๋ง ํ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฌํ ๋ ORDER BY์ ์ ์ฌ์ฉํ ์ ์๋ค
2. WHERE ์กฐ๊ฑด์ ์ ์กฐ๊ฑด์ ๋ฐ์ดํฐ๊ฐ ๊ทธ๋ฃนํ๋๊ธฐ ์ ์ ํํฐ๋งํ๊ณ , HAVING์ ์ ์กฐ๊ฑด์ ๋ฐ์ดํฐ๊ฐ ๊ทธ๋ฃนํ๋ ํ์ ํํฐ๋งํ๋ค
=> WHERE ์กฐ๊ฑด์ ์ ์ํด ์ ์ธ๋ ํ์ ๊ทธ๋ฃนํํ ๋๋ ์ ์ธ๋๊ธฐ ๋๋ฌธ์ HAVING์ ์ ๊ณ ๋ ค ๋์์ด X
'๐ซง Database > SQL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ์ ์ฟผ๋ฆฌ (2) | 2024.02.29 |
---|---|
ํ ์ด๋ธ ํฉ์น๊ธฐ (1) | 2024.02.29 |
SQL ํจ์ ํ์ฉํ๊ธฐ (0) | 2024.02.26 |
SQL ๊ธฐ๋ณธ ํจ์ ๋ฐฐ์ฐ๊ธฐ (2) | 2024.02.26 |
ํ ์คํธ ๋ง์ด๋์ ํ์ฉํ ๋ฐ์ดํฐ ์กฐ๊ฑด ์ฃผ๊ธฐ (1) | 2024.02.26 |