![sshhhh](https://t1.daumcdn.net/tistory_admin/static/manage/images/r3/default_L.png)
π© μλμ°ν¨μ
OLAP ν¨μλΌκ³ λ νλ€.
OLAPλ, OnLine Analytical Processingμ μ½μλ‘, λ°μ΄ν°λ² μ΄μ€λ₯Ό μ¬μ©ν μ€μκ°(μ¨λΌμΈ) λ°μ΄ν° λΆμμ²λ¦¬
μλμ° ν¨μλ μ΄ OLAP μ©λλ‘ μ¬μ©νκΈ° μν΄ νμ€ SQLμ μΆκ°λ κΈ°λ₯
κ²°κ³Ό μ§ν©μ μ¬λ¬ νμ λν κ³μ°μ μννλ λ° μ¬μ©
μΌλ°μ μΌλ‘ μ λ ¬λ λ°μ΄ν°μ λν΄ μλνλ©°, λ°μ΄ν°λ² μ΄μ€ μ§μμ μλμ°(λλ μ°½)μ λν΄ κ³μ°μ μν
ν¨μ¨μ μΈ λ°μ΄ν° λΆμ λ° μ§κ³ μμ μ μν
- ROW_NUMBER(): κ²°κ³Ό μ§ν©μ κ° νμ μμ λ²νΈλ₯Ό ν λΉν©λλ€.
μ£Όλ‘ μ λ ¬λ κ²°κ³Όμμ νΉμ μμμ νμ μ νν λ μ¬μ©λ©λλ€.
SELECT ROW_NUMBER() OVER(ORDER BY Salary DESC) AS RowNum, EmployeeName, Salary FROM Employees;
μ€ν κ²°κ³Ό:
| RowNum | EmployeeName | Salary |
|--------|--------------|--------|
| 1 | John | 55000 |
| 2 | Alice | 50000 |
| 3 | Bob | 48000 |
| 4 | Eve | 48000 |
| 5 | Jane | 45000 |
2.NTILE(n): κ²°κ³Ό μ§ν©μ nκ°μ λμΌν ν¬κΈ°μ ꡬκ°μΌλ‘ λΆν νκ³ , κ° νμ ν΄λΉνλ κ΅¬κ° λ²νΈλ₯Ό ν λΉν©λλ€.
μ£Όλ‘ λ°μ΄ν°λ₯Ό λ°±λΆμμλ‘ λΆν ν λ μ¬μ©λ©λλ€.
SELECT NTILE(4) OVER(ORDER BY Age) AS AgeGroup, Name, Age FROM People;
μ€ν κ²°κ³Ό:
| AgeGroup | Name | Age |
|----------|---------|-----|
| 1 | Emma | 18 |
| 1 | Olivia | 18 |
| 2 | Liam | 22 |
| 2 | Noah | 22 |
| 3 | Ava | 30 |
| 4 | Sophia | 38 |
| 4 | Jackson | 38 |
3.LEAD()μ LAG(): νμ¬ νμ κΈ°μ€μΌλ‘ λ€μ ν(LEAD()) λλ μ΄μ ν(LAG())μ μ κ·Όν μ μμ΅λλ€.
μ΄μ λλ λ€μ κ°μ κ°μ Έμ¬ λ μ μ©
SELECT Name, Salary, LAG(Salary) OVER(ORDER BY Salary) AS PreviousSalary FROM Employees;
μ€ν κ²°κ³Ό:
| Name | Salary | PreviousSalary |
|--------|--------|----------------|
| Jane | 45000 | null |
| Bob | 48000 | 45000 |
| Eve | 48000 | 48000 |
| Alice | 50000 | 48000 |
| John | 55000 | 50000 |
4.RANK(), DERANK()
μμ맀기λ ν¨μ
5.SUM(), AVG(), MIN(), MAX()
μ§κ³ν¨μ.
'DB > 쿼리' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
νν°μ (1) | 2023.10.10 |
---|---|
STUFF ν¨μ (0) | 2023.10.10 |
WITH μ (1) | 2023.10.05 |
APPLY (0) | 2023.10.05 |
MSSQL μ°μ΅ (0) | 2023.09.13 |