Abfrageergebnisse nummerieren und partitionieren

Es kommt gar nicht mal so selten vor, dass die Ergebniszeilen einer Abfrage mit einer Nummerierung versehen werden müssen. Ein einfaches Beispiel dafür stellt eine Liste der zwanzig umsatzstärksten Kunden dar. Unter Verwendung von ORDER BY und TOP ist der erste Teil der Aufgabenstellung schnell gelöst und eine absteigende Liste der Top-Kunden generiert.

SELECT TOP 20 c.ID, Name_2 AS LastName, SUM (Quantity * UnitPrice) AS SumOrders
FROM
   Sales.Customers  c
INNER JOIN
   Sales.Orders o
ON
   c.ID = o.CustomerID
INNER JOIN
   Sales.OrderDetails od
ON
   o.ID = od.OrderID
GROUP BY
   c.ID, Name_2
ORDER BY
   SUM (Quantity * UnitPrice) DESC

Listing 9.79 Die 20 umsatzstärksten Kunden

Hat man keine speziellen Funktionen zur ...

Get Microsoft SQL Server 2008 R2 - Das Entwicklerbuch now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.