1
1
Grupowanie i agregowanie danych
Grupowanie i agregowanie danych
cz.1
cz.1
(select TOP, select (SUM, AVG, MIN,
(select TOP, select (SUM, AVG, MIN,
MAX,
MAX,
C
C
OUNT))
OUNT))
Prezentacja do ćwiczenia 7
Prezentacja do ćwiczenia 7
Materiały wykorzystane w przykładach:
Materiały wykorzystane w przykładach:
Materiały pomocnicze do ćwiczeń laboratoryjnych\Ćwiczenie 7
Materiały pomocnicze do ćwiczeń laboratoryjnych\Ćwiczenie 7
2
2
Prezentacja przybliży następujące zagadnienia związane funkcjami
Prezentacja przybliży następujące zagadnienia związane funkcjami
agregacji oraz predykatem TOP
agregacji oraz predykatem TOP
Predykat TOP
Predykat TOP
Funkcje Agregacji:
Funkcje Agregacji:
•
AVG
AVG
•
COUNT
COUNT
•
MIN
MIN
•
MAX
MAX
•
SUM
SUM
W celu utrwalenia wiedzy prezentację zakończy ćwiczenie do
W celu utrwalenia wiedzy prezentację zakończy ćwiczenie do
samodzielnego
samodzielnego
wykonania.
wykonania.
Zakres ćwiczeń
Zakres ćwiczeń
3
3
Predykat Top
Predykat TOP jest używany wraz z instrukcją SELECT w celu
zwrócenia określonej liczby rekordów (zakresu rekordów).
Ogólna składnia polecenia przedstawia się następująco:
SELECT TOP n [PERCENT] FROM tabela [ORDER BY ...]
Objaśnienia:
n – całkowita liczba określająca zakres wybieranych rekordów
PERCENT (Procent) – procentowa ilość rekordów
Przykład 1:
SELECT TOP 3 imie, nazwisko
FROM klient
ORDER BY id_klienta DESC;
Zapytanie wyświetli trzech ostatnich klientów (ostatnich
w kolejności dodania, ponieważ id_klienta jest polem
autonumerowanym.
4
4
Przykład 2:
SELECT TOP 50 PERCENT marka, typ
FROM pojazdy
ORDER BY marka ASC;
Powyższe zapytanie zwraca 50% (połowę) dostępnych marek
pojazdów w kolejności rosnącej (w tym przypadku alfabetycznie od
a do z)
Predykat Top
Rysunek 1
5
5
Funkcje agregacji – Wartość średnia (AVG)
Avg()
Avg()
- zwraca wartość średnią ze zbioru liczb (ignoruje wartości puste,
- zwraca wartość średnią ze zbioru liczb (ignoruje wartości puste,
może być stosowana tylko do wartości liczbowych)
może być stosowana tylko do wartości liczbowych)
Składnia:
Składnia:
Avg(wyrażenie);
Avg(wyrażenie);
SELECT Avg(cena) AS [przecietna cena] FROM wypozyczenie ;
SELECT Avg(cena) AS [przecietna cena] FROM wypozyczenie ;
Przykład :
Przykład :
Powyższe zapytanie jako wynik zwróci przeciętną cenę wypożyczenia
Powyższe zapytanie jako wynik zwróci przeciętną cenę wypożyczenia
pojazdu
pojazdu
w firmie MS-Mot (Rysunek 2)
w firmie MS-Mot (Rysunek 2)
Rysunek 2
6
6
Count()
Count()
- zwraca liczbę wierszy w których wyrażenie w nawiasach
- zwraca liczbę wierszy w których wyrażenie w nawiasach
funkcji nie ma wartości NULL.
funkcji nie ma wartości NULL.
Jeżeli użyty zostanie znak *, to funkcja Count obliczy całkowitą liczbę
Jeżeli użyty zostanie znak *, to funkcja Count obliczy całkowitą liczbę
rekordów, w tym zawierających wartości puste
rekordów, w tym zawierających wartości puste
Składnia:
Składnia:
Count (wyrażenie);
Count (wyrażenie);
Przykład :
Przykład :
SELECT Count(marka) AS ilosc_pojazdów FROM pojazdy ;
SELECT Count(marka) AS ilosc_pojazdów FROM pojazdy ;
Zapytanie zlicza ilość posiadanych pojazdów w firmie MS-Mot
Zapytanie zlicza ilość posiadanych pojazdów w firmie MS-Mot
(Rysunek 3).
(Rysunek 3).
Funkcje agregacji – Zliczanie (count)
Rysunek 3
7
7
Min - zwraca minimalną wartość wyrażenia. Funkcje używamy z typami
Min - zwraca minimalną wartość wyrażenia. Funkcje używamy z typami
danych: liczbowych, daty, czasu i ciągów znaków. Używanie z ciągami
danych: liczbowych, daty, czasu i ciągów znaków. Używanie z ciągami
znaków, może być kłopotliwe – ciągi są porównywane tak, jakby były
znaków, może być kłopotliwe – ciągi są porównywane tak, jakby były
dopełnione z prawej strony spacjami.
dopełnione z prawej strony spacjami.
Składnia:
Składnia:
Min(wyrażenie);
Min(wyrażenie);
Przykład :
Przykład :
SELECT min(cena) AS najnizsza_cena FROM wypozyczenie ;
SELECT min(cena) AS najnizsza_cena FROM wypozyczenie ;
Zapytanie zwraca najniższa cenę wypożyczenia wśród dostępnych
Zapytanie zwraca najniższa cenę wypożyczenia wśród dostępnych
pojazdów (Rysunek 4).
pojazdów (Rysunek 4).
Funkcje agregacji – Wartość minimalna (min)
Rysunek 4
8
8
Max - zwraca maksymalną wartość wyrażenia. Funkcję używamy z
Max - zwraca maksymalną wartość wyrażenia. Funkcję używamy z
typami danych, tak samo jak w funkcji MIN.
typami danych, tak samo jak w funkcji MIN.
Składnia:
Składnia:
Max(wyrażenie);
Max(wyrażenie);
Przykład :
Przykład :
SELECT max(cena) AS njwyzsza_cena FROM wypozyczenie ;
SELECT max(cena) AS njwyzsza_cena FROM wypozyczenie ;
Zapytanie zwraca najwyższą cenę wypożyczenia dostępnych
Zapytanie zwraca najwyższą cenę wypożyczenia dostępnych
pojazdów (Rysunek5).
pojazdów (Rysunek5).
Funkcje agregacji – Wartość maksymalna (max)
Rysunek 5
9
9
Sum - zwraca sumę zbioru wartości. Funkcję używamy z typami
Sum - zwraca sumę zbioru wartości. Funkcję używamy z typami
danych, tak samo jak w funkcji MIN i MAX.
danych, tak samo jak w funkcji MIN i MAX.
Składnia:
Składnia:
Sum(wyrażenie);
Sum(wyrażenie);
Przykład :
Przykład :
SELECT sum(cena) AS przychód_całkowity FROM wypozyczenie;
SELECT sum(cena) AS przychód_całkowity FROM wypozyczenie;
Zapytanie jako wynik zwraca maksymalną kwotę jaką zarobiła firma w
Zapytanie jako wynik zwraca maksymalną kwotę jaką zarobiła firma w
czasie jej działalności (Rysunek6).
czasie jej działalności (Rysunek6).
Funkcje agregacji – Podsumowanie (sum)
Rysunek 6
10
10
Ćwiczenia
Ćwiczenia
1.
1.
Pobierz 3 ostatnio dodane marki skuterów (s - skuter)
Pobierz 3 ostatnio dodane marki skuterów (s - skuter)
2.
2.
Zlicz liczbę wszystkich pracowników
Zlicz liczbę wszystkich pracowników
3.
3.
Wyświetl motocykl (m - motocykl) o najmniejszej pojemności
Wyświetl motocykl (m - motocykl) o najmniejszej pojemności
4.
4.
Wyświetl Quad (q- quad) o największej pojemności
Wyświetl Quad (q- quad) o największej pojemności
5.
5.
Napisz zapytanie, które określi jaka jest średnia pojemność
Napisz zapytanie, które określi jaka jest średnia pojemność
wypożyczanych pojazdów
wypożyczanych pojazdów