Posts
Q&A
SUM() ํจ์ ๋ฌธ์
๋ค๋ฅธ ๋ถ์ ์ง๋ฌธ์ ์ฃ์กํฉ๋๋ค. ์ ๋ ๋น์ทํ ๊ถ๊ธ์ฆ์ด ์์๋๋ฐ ๋๋ถ์ ํด๊ฒฐ๋์์ด์! ๊ทธ๋ฐ๋ฐ ์ถ๊ฐ์ง๋ฌธ์ด ์์ด ์ด๋ ๊ฒ ๊ธ์ ๋จ๊น๋๋ค ใ ใ ์ ๊ฐ ๋๋ผ๊ธฐ๋ก๋ mysql ์์ฒด์์ GROUP BY๋ฅผ ์คํํ ๊ฒฝ์ฐ, ํ ์นดํ ๊ณ ๋ฆฌ์ ์ฌ๋ฌ ๊ฐ์ด ์์ ๋ ๋งจ ์์ ๊ฐ๋ง ์ถ๋ ฅํ๋ ๊ฒฝ์ฐ๊ฐ ์ข ์ข ์๋ ๊ฒ ๊ฐ๋๋ผ๊ณ ์. ์๋ฅผ ๋ค์ด ํด๋น ๋ฌธ์ ์์, id๋ก GROUP BY๋ฅผ ์คํํ ๊ฒฝ์ฐ ๋จ์ํ revenue์ month๋ฅผ ์ถ๋ ฅํ๋ผ๊ณ ๋ช ๋ นํ์ ๋ ๋งจ ์์ revenue 8000, month Jan๋ง ์ถ๋ ฅํฉ๋๋ค. SELECT id,revenue,month FROM DEPARTMENT GROUP BY id ์ด ๊ฒฝ์ฐ ์ถ๋ ฅ๋๋ ๊ฐ์ {"headers": ["id", "revenue", "month"], "values": [[1, 8000, "Jan"], [2, 9000, "Jan"], [3, 10000, "Feb"]]} ์ด๋ ๊ฒ์. ๊ทธ๋ฌ๋๊น id =1 ์ธ revenue 7000 month Feb๋ revenue 6000 month Mar๋ ์์ ์ถ๋ ฅ๋์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ด๊ฒ ์ธํฐํ๋ฆฌํฐ ์ค๋ฅ์ธ์ง ํน์ ์๋ ๊ทธ๋ ๊ฒ ์ค๊ณ๋ ๊ฒ์ธ์ง๋ ๋ชจ๋ฅด๊ฒ ์ผ๋, ์ด๋ฌํ ํ์์ด ๋ค๋ฅธ ๋์๋ ์ข ์ข ๋ฐ์ํ๋ ๊ฒฝ์ฐ๋ฅผ ์ ํ์ต๋๋ค. ์ด์จ๋ ์ด๋ฌํ ํ์ ๋๋ฌธ์ SUM๊ณผ ๊ฐ์ ์ง๊ณํจ์๋ฅผ ํด์ผํ๋ ๊ฒ ๊ฐ๋๋ฐ, ํน์ ๋ง๋์? ์๊น์ ์๋ฅผ ๋ค์ ์ค๋ช ํ์๋ฉด, ์๊น์ ๊ฐ์ ์ฝ๋๋ก ํ๋ revenue๊ฐ ์๋ SUM(revenue)๋ฅผ ์ถ๋ ฅํ๋ฉด {"headers": ["id", "SUM(revenue)", "month"], "values": [[1, 21000, "Jan"], [2, 9000, "Jan"], [3, 10000, "Feb"]]} ์ด๋ ๊ฒ ์ ์์ ์ผ๋ก ์ ์ฒด revenue ๊ฐ์ด ์ถ๋ ฅ๋๋ ๊ฒ์ฒ๋ผ์. ์ ๋ฆฌํ์๋ฉด GROUP BY ํจ์๋ฅผ ์ฌ์ฉํ ๋ ๋งจ ์์ ๋ฐ์ดํฐ๋ง ์ถ๋ ฅํ๋ ํ์์ด ์กด์ฌํ๊ณ , ์ง๊ณํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ์ฒด์ ์ผ๋ก(?) ํ๋ฒ ๋ ์ฝ์ด์ฃผ๋ ๊ฒ์ด ๋ง๋์? ๋ ์ด๊ฑธ ์์ฑํ๋ฉด์ ์๊ธด ๊ถ๊ธ์ฆ์ธ๋ฐ.. SELECT๋ฌธ์์ CASE WHEN month='Jan' THEN revenue ELSE NULL END ์ ์ฌ์ฉํจ์ผ๋ก์จ ID๋ก GROUP BY๋ ํ ์ด๋ธ ์ Jan๊ฐ ์๋ ๋ฐ์ดํฐ๋ค์ revenue ๊ฐ์ด ๋ค NULL๋ก ํ์ํ๋๋ฐ์, ์ด๋ ์๋์ department ์์ฒด๋ฅผ ๋ณํ์ํค๋ ๊ฑด ์๋๊ฑฐ์ฃ ? raw data๋ฅผ ๊ฐ์ ธ์ค๊ธฐ๋ง ํ๋ ๊ฒ์ด ๋ง๋์?
- 4
- 5
- 525
Q&A
case ๋ฌธ์ ์ดํดํ๊ธฐ ์ํด ์ง์ sql editor์ ์ฝ๋๋ฅผ ์์ฑํด ๋ณด์๋๋ฐ ์ง๋ฌธ์ด ์์ต๋๋ค
์ธ์ธํ๊ฒ ์ ๊ฒฝ ์จ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค ใ ใ ์ถ๊ฐ ์ง๋ฌธ์ด ์๋๋ฐ์, ์ ๊ฐ ์ด ์ฝ๋์ ๊ฒฝ์ฐ '*' ๊ธฐํธ๊ฐ GROUP BY๋ก ๊ทธ๋ฃนํํ๊ธฐ ์ด์ ์ ํต์ฉ๋๋ ๊ธฐํธ์ด๊ธฐ ๋๋ฌธ์ ์๊ธด ์ค๋ฅ๋ผ๋ ๋ป์ธ๊ฐ์? '๊ทธ๋ฃนํํ ๋ค์ ๋ชจ๋ column'์ ์๋ฏธํ ์๋ ์๋ ๊ฑด๊ฐ์? ์ ๋ ์ง๋ฌธํ๋ฉด์ ์ด๋ ๊ฒ ์ฌ์ญ๋ ๊ฒ์ด ๋ง๋ ์ถ์ง๋ง ใ ใ ๊ฐ์ฌํฉ๋๋ท
- 2
- 4
- 284
Q&A
GROUP BY์ ๋ํด ์ ๊ฐ ์ดํดํ ๊ฐ๋ ์ด ๋ง๋์ง ๊ถ๊ธํฉ๋๋ค
๋ต ๊ฐ์ฌํฉ๋๋ค ใ ใ
- 2
- 4
- 425
Q&A
GROUP BY์ ๋ํด ์ ๊ฐ ์ดํดํ ๊ฐ๋ ์ด ๋ง๋์ง ๊ถ๊ธํฉ๋๋ค
์ํ ๊ฐ์ฌํฉ๋๋ค!! ๊ทธ๋ฐ๋ฐ ๊ทธ๋ฌ๋ฉด GROUP BY๋ก ์ด categoryid๋ SELECT์์ ๋ฌด์กฐ๊ฑด ๋งจ ์์ ์์นํด์ผํ๋์? ๊ทธ๊ฑด ์๋์ฃ ??
- 2
- 4
- 425