Zadanie 28.

Podsumuj pracę przewoźników: podlicz, ile zamówień obsłużyli w każdym roku. W wyniku zaznacz, na którym miejscu jest dany przewoźnik w ilości obsłużonych zamówień.

Baza: Northwind, Tabele: dbo.Orders, dbo.Shippers, Kolumny: CompanyName, OrderDate, ShipVia, ShipperID, Wynik: 9 rows

37

Rozwiązanie

SELECT ROW_NUMBER() OVER(PARTITION BY YEAR(O.OrderDate) ORDER BY COUNT(*) DESC) as Nr, S.CompanyName, YEAR(O.OrderDate) as Year, COUNT(*) as Orders
FROM dbo.Orders as O
JOIN dbo.Shippers as S on O.ShipVia = S.ShipperID
GROUP BY S.CompanyName, YEAR(O.OrderDate)
ORDER BY Year, Orders DESC;

[collapse]