Tijdreeksanalyse in SQL Server
Maham Faisal Khan
Senior Data Science Content Developer
ROW_NUMBER()Unieke, oplopende integer vanaf 1.
RANK()Oplopende integer vanaf 1. Kan gelijken hebben. Kan nummers overslaan.
DENSE_RANK()Oplopende integer vanaf 1. Kan gelijken hebben. Slaat geen nummers over.
| RunsScored |
|---|
| 8 |
| 7 |
| 7 |
| 6 |
| 6 |
| 3 |
SELECT
s.RunsScored,
ROW_NUMBER() OVER (
ORDER BY s.RunsScored DESC
) AS rn
FROM dbo.Scores s
ORDER BY
s.RunsScored DESC;
| RunsScored | rn |
|---|---|
| 8 | 1 |
| 7 | 2 |
| 7 | 3 |
| 6 | 4 |
| 6 | 5 |
| 3 | 6 |
SELECT
s.RunsScored,
RANK() OVER (
ORDER BY s.RunsScored DESC
) AS rk,
DENSE_RANK() OVER (
ORDER BY s.RunsScored DESC
) AS dr
FROM dbo.Scores s
ORDER BY
s.RunsScored DESC;
| RunsScored | rk | dr |
|---|---|---|
| 8 | 1 | 1 |
| 7 | 2 | 2 |
| 7 | 2 | 2 |
| 6 | 4 | 3 |
| 6 | 4 | 3 |
| 3 | 6 | 4 |
SELECT
s.Team,
s.RunsScored,
ROW_NUMBER() OVER (
PARTITION BY s.Team
ORDER BY s.RunsScored DESC
) AS rn
FROM dbo.Scores s
ORDER BY
s.RunsScored DESC;
| Team | RunsScored | rn |
|---|---|---|
| AZ | 8 | 1 |
| AZ | 6 | 2 |
| AZ | 3 | 3 |
| FLA | 7 | 1 |
| FLA | 7 | 2 |
| FLA | 6 | 3 |
SELECT
s.Team,
s.RunsScored,
MAX(s.RunsScored) OVER (
PARTITION BY s.Team
) AS MaxRuns
FROM dbo.Scores s
ORDER BY
s.RunsScored DESC;
| Team | RunsScored | MaxRuns |
|---|---|---|
| AZ | 8 | 8 |
| AZ | 6 | 8 |
| AZ | 3 | 8 |
| FLA | 7 | 7 |
| FLA | 7 | 7 |
| FLA | 6 | 7 |
SELECT
s.Team,
s.RunsScored,
MAX(s.RunsScored) OVER() AS MaxRuns
FROM dbo.Scores s
ORDER BY
s.RunsScored DESC;
| Team | RunsScored | MaxRuns |
|---|---|---|
| AZ | 8 | 8 |
| AZ | 6 | 8 |
| AZ | 3 | 8 |
| FLA | 7 | 8 |
| FLA | 7 | 8 |
| FLA | 6 | 8 |
Tijdreeksanalyse in SQL Server