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 the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.