17448 skanuj0308 (2)

17448 skanuj0308 (2)



322 PHP i MySQL dla każdego

322 PHP i MySQL dla każdego

mysql> SELECT Imię, Nazwisko, Nazwa AS 'Nazwa towaru', Wartość AS 'Wartość', ->    Data AS 'Data zamówienia'

-> FROM Zamówienia, Klienci, Towary

-> WHERE Zamówienia.Klientld = Klienci.Id AND Zamówienia.TowarId=Towary.Id;


Rysunek 11.16.

Wynik złączenia trzech tabel: Klienci, Towary i Zamówienia

Dane możemy teraz zgrupować w taki sposób, aby dowiedzieć się, jaka była średnia wartość zamówień dla każdego klienta. Wystarczy jeśli dokonamy złączenia tabel Zamówienia i Klienci oraz wykorzystamy funkcję AVG i klauzulę GROUP BY. Nie możemy oczywiście zapomnieć o prawidłowym warunku złączenia. Całe zapytanie będzie miało zatem postać:

SELECT Imię. Nazwisko. AVG(Wartosc) AS AVG FROM Zamówienia. Klienci WHERE Zamówienia.Klientld - Klienci.Id GROUP BY Klienci.Id

Efekt jego działania jest widoczny na rysunku 11.17.

mysql> SELECT Imię, Nazwisko, AVG(wartosc) AS AVG -> FROM Zamówienia, Klienci -> WHERE Zamówieni a.Klientld = Klienci.Id -> GROUP BY Klienci.Id;

| Imię

Nazwisko

AVG

Andrzej

Krzysztof

Kowalski

Nowak

Malinowski

Kowalski

Nowicki

12.846667

15.660000

15.460000

15.260000

6.110000

rows in se

CO.00 sec)


Rysunek 11.17.

Grupowanie danych w celu uzyskania średniej wartości zamówienia dla klienta

Podobnie możemy dowiedzieć się, jaka była średnia, minimalna, maksymalna i sumaryczna wartość zamówień dla poszczególnych towarów. Tu również będziemy musieli dokonać złączenia tabel, tym razem Zamówienia i Towary. Niezbędnych informacji dostarczą nam natomiast odpowiednio użyte funkcje AVG, MIN, MAX i SUM:

SELECT Nazwa. AVG(Wartosc) AS 'Średnia'. MIN(Wartosc) AS 'Minimalna'.

MAX(Wartosc) AS 'Maksymalna'. SUM(Wartosc) AS 'Suma'

FROM Zamówienia. Towary

WHERE Zamówienia.Towarld = Towary.Id

GROUP BY Towary.Id:

Efekt działania powyższego zapytania przedstawia rysunek 11.18.


Wyszukiwarka

Podobne podstrony:
skanuj0045 IV. ZADANIA DO ETAPU PRAKTYCZNEGO EGZAMINU DLA ZAWODU TECHNIK EKONOMISTA•   &nb
znaki dla kontaktow SELECT Imię, Nazwisko. rodzaj_kontaktu, kontakt FRÓM osoby , kontakty WHERE
Karła postępów w terapii logopedycznej (dla głoski R)Dane pacjenta (imię i nazwisko, klasa / grupa)
b c C:WINDOWSsystem32Ycmd.exe - mysql -u ro +------------- ! imię — nazwisko j
Test - Załącznik do akt szkolenia okresowego dla pracowników nastanowiskach robotniczych Imię i nazw
aparat (13) d Fest nr 3 dla grupy Z4R2S0 Data. Imię i nazwisko SpoMd tmląnmnftk o+oirirdd do pytań j
Podzapytanie we FROMa Podaj imiona najcięższych zwierzaków z każdego gatunku. SELECT imię FROM

więcej podobnych podstron