Ranking-Funktion des Microsoft SQL Servers (ab 2005) nutzen

Gängige SQL-Befehle für spezielle Abfragen
Antworten
Benutzeravatar
ABraun
Vectotax Mitarbeiter
Beiträge: 52
Registriert: 17.07.2008, 10:46:44

Ranking-Funktion des Microsoft SQL Servers (ab 2005) nutzen

Beitrag von ABraun »

Ab SQL Server 2005 können Ranking-Funktionen genutzt werden, eine davon nennt sich row_number() und kann dazu genutzt werden, sonst unnumerierte Datensätze logisch zu numerieren. Anschließend kann durch ein Subselect auf die entsprechende Abfrage eine Filterung erfolgen.
Hier ein Beispiel zur Abfrage des Artikel-Programms an 2ter Stelle:

SELECT APS.* FROM (SELECT row_number() OVER (ORDER BY AP.ArtikelNr ASC, AP.Programm ASC, AP.Pfad ASC) AS rn, AP.* FROM ArtikelProgramme AS AP WHERE ArtikelNr = 'xyz') AS APS WHERE APS.rn = 2;
Mit freundlichen Grüßen

Alexander Braun
Vectotax Software GmbH
Antworten