๐Ÿ“’ Database/Oracle

[ORACLE] OVER()

a n u e 2021. 11. 3. 11:20

 

OVER๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ GROUP BY, ORDER BY ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ–ˆ์„๋•Œ์™€ ๊ฐ™์€ ๊ฒฐ๊ณผ ๊ฐ’์„ ๋‚˜์˜ค๊ฒŒ ํ•˜๋ ค๋ฉด?

SELECT WCODE, GRADE, SUM(UNIT_PRICE)
FROM STOCK
GROUP BY WCODE, GRADE; --์ฐฝ๊ณ ์˜ ๋ถ€ํ’ˆ ๋“ฑ๊ธ‰๋ณ„ ๋‹จ๊ฐ€์˜ ํ•ฉ๊ณ„(GROUP BY)
SELECT DISTINCT WCODE, GRADE, SUM(UNIT_PRICE) OVER(PARTITION BY WCODE, GRADE)
FROM STOCK
WHERE 1=1;

๊ฒฐ๊ณผ ๊ฐ’

WCODE GRADE SUM(UNIT_PRICE)
1000 B 62,000,000
1000 A 1,000,000
2000 A 5,000,000,000
2000 B 1,200,000