[oracle] κ·Έλ£Ή ν•¨μˆ˜(MAX(), MIN(), SUM(), AVG(), COUNT(), ROLLUP(),ROW_NUMBER(), RANK(), DENSE_RANK(), RANK() WITHIN, FIRST_VALUE())

2021. 10. 20. 11:35γ†λ°μ΄ν„°λ² μ΄μŠ€

728x90

1. MAX()

MAX() ν•¨μˆ˜λŠ” 그룹으둜 λ§Œλ“  ν•„λ“œλͺ…μ˜ μ΅œλŒ€κ°’μ„ κ΅¬ν•˜λŠ” ν•¨μˆ˜μ΄λ‹€. 

 

OVER (PATITION BY κ·Έλ£Ήν•„λ“œλͺ…) ν•˜λ©΄ GROUP BY λ₯Ό μ‚¬μš©ν•˜μ§€ μ•Šκ³ λ„ 그룹을 λ§Œλ“€ 수 μžˆλ‹€. 

 

 

2. MIN()

MIN() ν•¨μˆ˜λŠ” 그룹으둜 λ§Œλ“  ν•„λ“œλͺ…μ˜ μ΅œμ†Œκ°’μ„ κ΅¬ν•˜λŠ” ν•¨μˆ˜μ΄λ‹€. 

 

 

3. SUM()

SUM() ν•¨μˆ˜λŠ” 그룹으둜 λ§Œλ“  ν•„λ“œλͺ…μ˜ 합계λ₯Ό κ΅¬ν•˜λŠ” ν•¨μˆ˜μ΄λ‹€.

 

4. AVG() 

AVG() ν•¨μˆ˜λŠ” 그룹으둜 λ§Œλ“  ν•„λ“œλͺ…μ˜ 평균을 κ΅¬ν•˜λŠ” ν•¨μˆ˜μ΄λ‹€.

 

5. COUNT()

COUNT() ν•¨μˆ˜λŠ” 그룹으둜 λ§Œλ“  'ν•„λ“œλͺ…'의 λ ˆμ½”λ“œ 개수λ₯Ό κ΅¬ν•˜λŠ” ν•¨μˆ˜μ΄λ‹€. 

 

6. ROLLUP()

ROLLUP() ν•¨μˆ˜λŠ” 그룹으둜 λ§Œλ“  ν•„λ“œλͺ…1, ν•„λ“œλͺ…2...의 그룹을 λ§Œλ“€μ–΄ μ†Œκ³„μ™€ 총합을 κ΅¬ν•˜λŠ” ν•¨μˆ˜μ΄λ‹€. 

 

7. ROW_NUMBER()

 ROW_NUMBER() ν•¨μˆ˜λŠ” κ·Έλ£Ήν•„λ“œλͺ…μœΌλ‘œ 그룹을 λ§Œλ“€κ³  μ •λ ¬ν•„λ“œλͺ…μœΌλ‘œ μ •λ ¬ν•΄ μ€‘λ³΅μ—†λŠ” μˆœλ²ˆμ„ λ§Œλ“œλŠ” ν•¨μˆ˜μ΄λ‹€. 

KOR κΈ°μ€€ λ‚΄λ¦Όμ°¨μˆœμœΌλ‘œ μ€‘λ³΅μ—†λŠ” μˆœμœ„ 

 

8. RANK()

RANK() ν•¨μˆ˜λŠ” κ·Έλ£Ήν•„λ“œλͺ…μœΌλ‘œ 그룹을 λ§Œλ“€κ³  μ •λ ¬ν•„λ“œλͺ…μœΌλ‘œ μ •λ ¬ν•΄ 같은 값이면 쀑볡 μˆœμœ„λ₯Ό λΆ€μ—¬ν•˜κ³  κ·Έ μ΄ν›„λŠ” ν•΄λ‹Ή μˆœμœ„λ§ŒνΌ μ΄λ™ν•œ μˆœμœ„λ₯Ό κ΅¬ν•˜λŠ” ν•¨μˆ˜μ΄λ‹€. 

1, 2,2, λ‹€μŒ 4μœ„μ΄λ‹€.

 

9. DENSE_RANK()

DENSE_RANK(0ν•¨μˆ˜λŠ” κ·Έλ£Ήν•„λ“œλͺ…μœΌλ‘œ 그룹을 λ§Œλ“€κ³  μ •λ ¬ν•„λ“œλͺ…μœΌλ‘œ μ •λ ¬ν•΄ 같은 값이면 쀑볡 μˆœμœ„λ₯Ό λΆ€μ—¬ν•˜κ³ , κ·Έ μ΄ν›„μ—λŠ” 순차적인 μˆœμœ„λ₯Ό κ΅¬ν•˜λŠ” ν•¨μˆ˜μ΄λ‹€. 

1, 2, 2, λ‹€μŒ 3μœ„μ΄λ‹€.

 

10. RANK() WITHIN

GROUP ν•¨μˆ˜μ—μ„œ μ •λ ¬ ν•„λ“œλͺ…μœΌλ‘œ μ •λ ¬ν•œ 값을 κΈ°μ€€μœΌλ‘œ 값이 어디에 μœ„μΉ˜ν•  수 μžˆλŠ”μ§€λ₯Ό κ΅¬ν•˜λŠ” ν•¨μˆ˜μ΄λ‹€. 

RANK() WITHIN GROUP(μ •λ ¬ ν•„λ“œλͺ… DESC/ASC)

 

11. FIRST_VALUE()

FIRST_VALUE() ν•¨μˆ˜λŠ” κ·Έλ£Ήν•„λ“œλͺ…μœΌλ‘œ 그룹을 λ§Œλ“€κ³  μ •λ ¬ν•„λ“œλͺ…μœΌλ‘œ μ •λ ¬ν•œ ν•„λ“œλͺ…μ˜ 첫번째 μœ„μΉ˜μ˜ 값을 κ΅¬ν•˜λŠ” ν•¨μˆ˜μ΄λ‹€. 

μ΅œλŒ€κ°’ κ΅¬ν•˜λŠ”κ²ƒκ³Ό μœ μ‚¬ 

 

 

 

 

 

 

 

728x90