Archiwa tagu: group by

Baza Biblioteka 2. Pokaż 10 najczęściej wypożyczających czytelników.

SQL tutorial. Baza Biblioteka ćwiczenia. Środowisko SQL SERVER.

Baza: Biblioteka

Zadanie nr: 2

Treść:  Pokaż 10 najczęściej wypożyczających czytelników.

Polecenia/funkcje w zapytaniu: SELECT TOP, COUNT(), JOIN, GROUP BY, ORDER BY


SQL tutorial. SQL SERVER. Baza Biblioteka SQL tutorial. SQL SERVER. Baza Biblioteka


Rozwiązanie:

Zapytanie:

select top 10
     C.login
    ,COUNT(*) as [Liczba wypozyczen]

from
    Wypozyczenia W
    join Czytelnicy C on W.id_czytelnik = C.id_czytelnik
    
group by
    C.login    

order by
    COUNT(*) desc   

Wynik:

SQL tutorial.  SQL SERVER. Baza Biblioteka

Pobierz skrypt sql


 SQL tutorial. SQL SERVER. Baza Biblioteka SQL tutorial. SQL SERVER. Baza Biblioteka


 

Baza Biblioteka 1. Pokaż 10 najczęściej wypożyczanych książek.

SQL tutorial. Baza Biblioteka ćwiczenia. Środowisko SQL SERVER.

Baza: Biblioteka

Zadanie nr: 1

Treść:  Pokaż 10 najczęściej wypożyczanych książek.

Polecenia/funkcje w zapytaniu: SELECT TOP, COUNT(), JOIN, GROUP BY, ORDER BY


SQL tutorial. SQL SERVER. Baza Biblioteka SQL tutorial. SQL SERVER. Baza Biblioteka SQL tutorial. SQL SERVER. Baza Biblioteka


Rozwiązanie:

Zapytanie:

select top 10
     K.tytul
    ,COUNT(*) as [Ilosc wypozyczen]

from
    wypozyczenia W
    join Ksiazki K on W.id_ksiazka = K.id_ksiazka
    
group by
     K.tytul
    ,W.id_ksiazka
    
order by
    COUNT(*) desc

Wynik:

SQL tutorial.  SQL SERVER. Baza Biblioteka

Pobierz skrypt sql


 SQL tutorial. SQL SERVER. Baza Biblioteka SQL tutorial. SQL SERVER. Baza Biblioteka SQL tutorial. SQL SERVER. Baza Biblioteka

db HOTELS 1. Lista hoteli z podziałem na ilość gwiazdek.

SQL tutorial. db Hotels exercises. SQL SERVER.

Baza: Hotele/Hotels

Zadanie nr: 1

Treść:  Wyświetl listę hoteli z podziałem na ilość gwiazdek.

Polecenia/funkcje w zapytaniu: SELECT, FROM, CASE, COUNT(), GROUP BY


  SQL tutorial. AdventureWorks exercises SQL SERVER SQL tutorial. AdventureWorks exercises SQL SERVER


Rozwiązanie:

Zapytanie:

   SELECT
    CASE    
        WHEN hotel_stars = 1 THEN '1 gwiazdka'
        WHEN hotel_stars = 2 THEN '2 gwiazdki'
        WHEN hotel_stars = 3 THEN '3 gwiazdki'
        WHEN hotel_stars = 4 THEN '4 gwiazdki'
        WHEN hotel_stars = 5 THEN '5 gwiazdek'
    END AS Liczba_gwiazdek
    ,COUNT(*) AS Liczba_hoteli

FROM
    hotels
        
GROUP by
    hotel_stars

Wynik:

SQL tutorial. db Hotels exercises. SQL SERVER.

Pobierz skrypt sql


  SQL tutorial. AdventureWorks exercises SQL SERVER SQL tutorial. AdventureWorks exercises SQL SERVER


 

Northwind 35. Wyświetl klientów którzy złożyli największą liczbę zamówień.

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


northwind tutorial practical exercises examples samples queries sql sql server  northwind tutorial practical exercises examples samples queries sql sql server 


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

northwind tutorial practical exercises examples samples queries sql sql server

Pobierz skrypt sql


northwind tutorial practical exercises examples samples queries sql sql server  northwind tutorial practical exercises examples samples queries sql sql server 


 

Northwind 34. Wyświetl informacje o pierwszym i ostatnim zamówieniu.

Baza : Northwind

Ćwiczenie nr: 34

Treść ćwiczenia: Wyświetl dane dotyczace pierwszego i ostatniego zamówienia. Zakres danych: Identyfikator zamówienia, Liczba pozycji w zamówieniu, Wartość zamówienia.

Polecenia/funkcje w zapytaniu: SELECT, SELECT TOP, FROM, WHERE, COUNT(), SUM(), INNER JOIN, GROUP BY, ORDER BY


northwind tutorial practical exercises examples samples queries sql sql server  northwind tutorial practical exercises examples samples queries sql sql server northwind tutorial practical exercises examples samples queries sql sql server


Rozwiązanie:

Zapytanie:

SELECT
          'Pierwsze zamówienie' AS Info
         ,D.OrderID AS IdentyfikatorZamowienia
         ,COUNT(*) AS LiczbaPozycji
         ,SUM(D.Quantity*D.UnitPrice) AS WartoscZamowienia
    FROM    
        (
        SELECT TOP 1
            O.OrderID
        FROM
            Orders O
        ORDER BY
            O.OrderDate, O.OrderID
        ) AS SQ
        JOIN [Order Details] D ON SQ.OrderID = D.OrderID
    GROUP BY
        D.OrderID
 
 UNION ALL
 
  SELECT
          'Ostatnie zamówienie' AS Info
         ,D.OrderID AS IdentyfikatorZamowienia
         ,COUNT(*) AS LiczbaPozycji
         ,SUM(D.Quantity*D.UnitPrice) AS WartoscZamowienia
    FROM    
        (
        SELECT TOP 1
            O.OrderID
        FROM
            Orders O
        ORDER BY
            O.OrderDate DESC, O.OrderID DESC
        ) AS SQ
        JOIN [Order Details] D ON SQ.OrderID = D.OrderID
    GROUP BY
        D.OrderID

Wynik uruchomienia zapytania

Liczba rekordów: 2

northwind tutorial practical exercises examples samples queries sql sql server

Pobierz skrypt sql


northwind tutorial practical exercises examples samples queries sql sql server  northwind tutorial practical exercises examples samples queries sql sql server northwind tutorial practical exercises examples samples queries sql sql server


 

Adventureworks 40. Wyświetl zamówienia (najmniejsza i największa wartość + ich suma)

SQL tutorial. AdventureWorks exercises. SQL SERVER.

Baza: AdventureWorks

Zadanie nr: 40

Treść:  Wyświetl zamówienia (najmniejsza i największa wartość). Użyj tabeli tymczasowej.

Polecenia/funkcje w zapytaniu: SELECT, FROM, CREATE TABLE, INSERT INTO, UNION ALL, SUM(), Tabela tymczasowa


SQL tutorial. AdventureWorks exercises SQL SERVER  SQL tutorial. AdventureWorks exercises SQL SERVER


Rozwiązanie:

Zapytanie:

  

— Tworzymy tabelę tymczasową do zapisu wyników poszczególnyc zapytań
CREATE TABLE #tymczasowa(
     info varchar(40)
    ,wartosc money
)

— Znajdujemy zamówienie o najmniejsze wartości
— i wrzucamy wynik do tabeli tymczasowej

INSERT INTO #tymczasowa
        SELECT
             'Zamówienie o najmniejszej wartości'
            ,MIN(O.SubTotal)
        FROM
            Sales.SalesOrderHeader O    

— Znajdujemy zamówienie o największej wartości
— i wrzucamy wynik do tabeli tymczasowej

INSERT INTO #tymczasowa
        SELECT
             'Zamówienie o największej wartości'
            ,MAX(O.SubTotal)
        FROM
            Sales.SalesOrderHeader O

— prezentujemy wynik
SELECT
    *
FROM
    #tymczasowa    

UNION ALL                

SELECT
     'SUMA'
    ,SUM(#tymczasowa.wartosc)
FROM
    #tymczasowa    

— opcjonalnie możemy usunąć tablę tymczasową    
DROP TABLE #tymczasowa   

Wynik:

SQL tutorial. AdventureWorks exercises. SQL SERVER.

Pobierz skrypt sql


SQL tutorial. AdventureWorks exercises SQL SERVER  SQL tutorial. AdventureWorks exercises SQL SERVER


 

Adventureworks 39. Pracownicy pogrupowani wg dat zatrudnienia.

SQL tutorial. AdventureWorks exercises. SQL SERVER.

Baza: AdventureWorks

Zadanie nr: 39

Treść:  Pracownicy pogrupowani wg dat zatrudnienia.

Polecenia/funkcje w zapytaniu: SELECT, FROM, ORDER BY, GROUP BY, YEAR(), COUNT()


SQL tutorial. AdventureWorks exercises SQL SERVER  SQL tutorial. AdventureWorks exercises SQL SERVER SQL tutorial. AdventureWorks exercises SQL SERVER


Rozwiązanie:

Zapytanie:

    SELECT
     SQ.GRUPA AS Grupa
    ,COUNT(*) AS LiczbaPracowników
FROM
    (    
        SELECT
             YEAR(E.HireDate) AS Rok
            ,(CASE
                WHEN YEAR(E.HireDate) < 2000
                    THEN '1. Zatrudnieni przed 2000 r.'
                WHEN (YEAR(E.HireDate) >= 2000 AND YEAR(E.HireDate) <= 2005)
                    THEN '2. Zatrudnieni pomiędzy 2000-2005 r.'
                WHEN YEAR(E.HireDate) > 2005
                    THEN '3. Zatrudnieni po 2005 r.'
            END)AS GRUPA                
        FROM
            HumanResources.Employee E            
    )AS SQ
GROUP BY
    SQ.GRUPA    
ORDER BY
    1

Wynik:

SQL tutorial. AdventureWorks exercises. SQL SERVER.

Pobierz skrypt sql


SQL tutorial. AdventureWorks exercises SQL SERVER  SQL tutorial. AdventureWorks exercises SQL SERVER SQL tutorial. AdventureWorks exercises SQL SERVER


 

Adventureworks 38. Zaprezentuj zestawienie sprzedaży w latach (liczba zamówień, wartość zamówień).

SQL tutorial. AdventureWorks exercises. SQL SERVER.

Baza: AdventureWorks

Zadanie nr: 38

Treść:  Zaprezentuj zestawienie sprzedaży w latach (liczba zamówień, wartość zamówień).

Polecenia/funkcje w zapytaniu: SELECT, FROM, ORDER BY, GROUP BY, YEAR(), COUNT(), SUM()


SQL tutorial. AdventureWorks exercises SQL SERVER  SQL tutorial. AdventureWorks exercises SQL SERVER SQL tutorial. AdventureWorks exercises SQL SERVER


Rozwiązanie:

Zapytanie:

    SELECT
     YEAR(O.OrderDate) AS Rok
    ,COUNT(*) AS LiczbaZamowien
    ,SUM(O.SubTotal) AS WartoscZamowien
FROM    
    Sales.SalesOrderHeader O    
GROUP BY
    YEAR(O.OrderDate)
ORDER BY
    1,2 DESC,3 DESC   

Wynik:

SQL tutorial. AdventureWorks exercises. SQL SERVER.

Pobierz skrypt sql


SQL tutorial. AdventureWorks exercises SQL SERVER  SQL tutorial. AdventureWorks exercises SQL SERVER SQL tutorial. AdventureWorks exercises SQL SERVER


 

Adventureworks 37. Oblicz i wyświetl wartość pierwszego i ostatniego zamówienia.

SQL tutorial. AdventureWorks exercises. SQL SERVER.

Baza: AdventureWorks

Zadanie nr: 37

Treść:  Oblicz i wyświetl wartość pierwszego i ostatniego zamówienia.

Polecenia/funkcje w zapytaniu: SELECT, SELECT TOP, FROM, ORDER BY, GROUP BY, JOIN, SUM()


SQL tutorial. AdventureWorks exercises no.36. SQL SERVER.  SQL tutorial. AdventureWorks exercises no.34. SQL SERVER. SQL tutorial. AdventureWorks exercises SQL SERVER.  SQL tutorial. AdventureWorks exercises no.36. SQL SERVER.  SQL tutorial. AdventureWorks exercises no.34. SQL SERVER. SQL tutorial. AdventureWorks exercises SQL SERVER. SQL tutorial. AdventureWorks exercises no.36. SQL SERVER.  SQL tutorial. AdventureWorks exercises no.34. SQL SERVER. SQL tutorial. AdventureWorks exercises SQL SERVER.


Rozwiązanie:

Pomocniczy schemat

Adventureworks 37. Oblicz i wyświetl wartość pierwszego i ostatniego zamówienia.

Zapytanie:

    SELECT
         'Pierwsze zamówienie' AS Info
        ,SUM(OD.OrderQty*OD.UnitPrice)AS Wartosc
    FROM    
        (
        SELECT TOP 1 O.SalesOrderID
        FROM Sales.SalesOrderHeader O
        ORDER BY O.OrderDate, SalesOrderID
        ) AS SQ
        JOIN Sales.SalesOrderHeader OH ON SQ.SalesOrderID = OH.SalesOrderID
        JOIN Sales.SalesOrderDetail OD ON SQ.SalesOrderID = OD.SalesOrderID
    GROUP BY
        OH.SalesOrderID

    UNION ALL

       SELECT
         'Ostatnie zamówienie' AS Info
        ,SUM(OD.OrderQty*OD.UnitPrice)AS Wartosc
    FROM    
        (
        SELECT TOP 1 O.SalesOrderID
        FROM Sales.SalesOrderHeader O
        ORDER BY O.OrderDate DESC, SalesOrderID DESC
        ) AS SQ
        JOIN Sales.SalesOrderHeader OH ON SQ.SalesOrderID = OH.SalesOrderID
        JOIN Sales.SalesOrderDetail OD ON SQ.SalesOrderID = OD.SalesOrderID
    GROUP BY
        OH.SalesOrderID

Wynik:

SQL tutorial. AdventureWorks exercises. SQL SERVER.

Pobierz skrypt sql


SQL tutorial. AdventureWorks exercises no.36. SQL SERVER.  SQL tutorial. AdventureWorks exercises no.34. SQL SERVER. SQL tutorial. AdventureWorks exercises SQL SERVER.  SQL tutorial. AdventureWorks exercises no.34. SQL SERVER.  SQL tutorial. AdventureWorks exercises no.34. SQL SERVER. SQL tutorial. AdventureWorks exercises SQL SERVER. SQL tutorial. AdventureWorks exercises no.36. SQL SERVER.  SQL tutorial. AdventureWorks exercises no.34. SQL SERVER. SQL tutorial. AdventureWorks exercises SQL SERVER.


 

Adventureworks 36. Jak prezentowała się liczba zamówień w poszczególnych latach dla sklepu „Twin Cycles”

SQL tutorial. AdventureWorks exercises. SQL SERVER.

Baza: AdventureWorks

Zadanie nr: 36

Treść:  Jak prezentowała się liczba zamówień w poszczególnych latach dla sklepu "Twin Cycles". Liczbe zamówień pogrupuj wg lat rosnąco.

Polecenia/funkcje w zapytaniu: SELECT, FROM, WHERE, GROUP BY, YEAR(), COUNT()


SQL tutorial. AdventureWorks exercises no.36. SQL SERVER.  SQL tutorial. AdventureWorks exercises no.34. SQL SERVER. SQL tutorial. AdventureWorks exercises SQL SERVER.  SQL tutorial. AdventureWorks exercises no.36. SQL SERVER.  SQL tutorial. AdventureWorks exercises no.34. SQL SERVER. SQL tutorial. AdventureWorks exercises SQL SERVER. SQL tutorial. AdventureWorks exercises no.36. SQL SERVER.  SQL tutorial. AdventureWorks exercises no.34. SQL SERVER. SQL tutorial. AdventureWorks exercises SQL SERVER.


Rozwiązanie:

Pomocniczy schemat

Adventureworks 36. Jak prezentowała się liczba zamówień w poszczególnych latach dla sklepu "Twin Cycles"

Zapytanie:

SELECT
     S.Name AS NazwaSklepu
    ,YEAR(O.OrderDate) AS Rok
    ,COUNT(*) AS IloscZamowien
FROM
    Sales.SalesOrderHeader O
    JOIN Sales.Customer C ON O.CustomerID = C.CustomerID
    JOIN Sales.Store S ON C.StoreID = S.BusinessEntityID
WHERE
    S.Name = 'Twin Cycles'        
GROUP BY
    S.Name, YEAR(O.OrderDate)

Wynik:

SQL tutorial. AdventureWorks exercises. SQL SERVER.

Pobierz skrypt sql


SQL tutorial. AdventureWorks exercises no.36. SQL SERVER.  SQL tutorial. AdventureWorks exercises no.34. SQL SERVER. SQL tutorial. AdventureWorks exercises SQL SERVER.  SQL tutorial. AdventureWorks exercises no.34. SQL SERVER.  SQL tutorial. AdventureWorks exercises no.34. SQL SERVER. SQL tutorial. AdventureWorks exercises SQL SERVER. SQL tutorial. AdventureWorks exercises no.36. SQL SERVER.  SQL tutorial. AdventureWorks exercises no.34. SQL SERVER. SQL tutorial. AdventureWorks exercises SQL SERVER.