Baza : Northwind
Ćwiczenie nr: 35
Treść ćwiczenia: Wyświetl klientów którzy złożyli największą liczbę zamówień.
Polecenia/funkcje w zapytaniu: SELECT, SELECT TOP, FROM, WHERE, COUNT(), DECLARE SET, GROUP BY, ORDER BY
Rozwiązanie:
Zapytanie:
Na początku zadeklarujmy sobie zmienną @ile do które "wrzucimy" największą liczbę zamówień, bo może się zdarzyć, że kilku klientów złożyło tyle samo zamówień.
DECLARE @ile int =
(
SELECT TOP 1
COUNT(*)
FROM
Orders O
GROUP BY
O.CustomerID
ORDER BY
COUNT(*) DESC
);
Teraz utworzymy główne zapytanie w którym wykorzystamy zmienną @ile
SELECT
O.CustomerID AS IdentyfikatorKlienta
,COUNT(*) AS Ile
FROM
Orders O
GROUP BY
O.CustomerID
HAVING
COUNT(*) = @ile
Wynik uruchomienia zapytania
Liczba rekordów: 1