[HackerRank/Oracle] Occupations
occupation ์ด์ pivotํ๋ ๋ฌธ์ ๋ค.
1. DECODE/MIN ์ด์ฉ
DECODEํจ์๋ ํ๋ก๊ทธ๋๋ฐ์์์ if else ์ ๋น์ทํ ๊ธฐ๋ฅ์ ์ํํจ
DECODE(์ปฌ๋ฝ, ์กฐ๊ฑด1, ๊ฒฐ๊ณผ1, ์กฐ๊ฑด2, ๊ฒฐ๊ณผ2)
1 | |
2. PIVOT ์ด์ฉ
Oracle 11g ์ด์ ๋ฒ์ ์ ๊ฒฝ์ฐ PIVOTํจ์๋ฅผ ์ฌ์ฉ ํ ์์์
1 | |
3. ์ถ๊ฐ๋ก ์์์ผ ํ ๊ฒ
์ค๋ผํด์์ ๋ถ์ ํจ์๋ฅผ ์ฌ์ฉ ํ ๋ PARTITION BY๋ฅผ ์ฌ์ฉํ์ฌ ๊ทธ๋ฃน์ผ๋ก ๋ฌถ์ด์ ์ฐ์ฐ์ ํ ์ ์๋ค.
GROUP BY๋ฅผ ์ฌ์ฉํ์ง์๊ณ , ์กฐํ๋ ๊ฐ ํ์ ๊ทธ๋ฃน์ผ๋ก ์ง๊ณ๋ ๊ฐ์ ํ์ ํ ๋ OVER์ ๊ณผ PARTITION BY ์ ์ ์ฌ์ฉํ๋ฉด๋๋ค.
๋ถ์ํจ์([์นผ๋ผ]) OVER(PARTITION BY ์นผ๋ผ1, ์นผ๋ผ2... [ORDER BY ์ ] [WINDOWING ์ ])
์ฌ๊ธฐ์๋ ROW_NUMBER & OVER & PARTITION BY ๋ฅผ ์ด์ฉํด ์ง์ ๋ณ ์ด๋ฆ ์์ผ๋ก ์๋ฒ์ ํ๊ธฐํ๋ค.