capypad
0 Tage Serie
sql / expert
Snippet

Ranking-Verteilungen mit DENSE_RANK

Fensterfunktionen für das Ranking ermöglichen eine anspruchsvolle Sortierlogik. Während RANK() Nummern überspringt, wenn Gleichstände auftreten, stellt DENSE_RANK() eine kontinuierliche Sequenz sicher. Diese Unterscheidung ist in der statistischen Analyse und bei Wettbewerbssystemen entscheidend.

snippet.sql
sql
1
2
3
4
SELECT student_name, score,
RANK() OVER (ORDER BY score DESC) as rank_gap,
DENSE_RANK() OVER (ORDER BY score DESC) as rank_dense
FROM exam_results;
Erklärung
1
RANK() OVER (ORDER BY score DESC)
Weist einen Rang zu; identische Punktzahlen erhalten denselben Rang, und der nächste Rang wird übersprungen.
2
DENSE_RANK() OVER (ORDER BY score DESC)
Weist einen Rang zu; identische Punktzahlen erhalten denselben Rang, aber der nächste Rang ist die unmittelbar folgende Ganzzahl.