Funkcja w języku SQL o nazwie GROUP BY sumuje wszystkie kolumny dla podanej wartości, usuwając przy tym zduplikowane wartości.
Przykładowo mamy tabele o nazwie 'zamówienia', która wygląda następująco:
O_Id | Data | Cena | Klient |
---|---|---|---|
1 | 2008/11/12 | 1000 | Kowalski |
2 | 2008/10/23 | 1600 | Nowak |
3 | 2008/09/02 | 700 | Kowalski |
4 | 2008/09/03 | 300 | Kowalski |
5 | 2008/08/30 | 2000 | Kaczor |
6 | 2008/10/04 | 100 | Nowak |
Aby wyświetlić sumę wszystkich zamówień złożonych przez konkretnego klienta nie potrzebujemy żadnego kodu php, wystarczy sama składnia SQL.
Zapytanie wygląda następująco:
SELECT Klient,SUM(Cena) FROM zamówienia
GROUP BY Klient;
Zwrócona tabela:
Klient | SUM(Cena) |
---|---|
Kowalski | 2000 |
Nowak | 1700 |
Kaczor | 2000 |
Dla przykładu jeśli ominelibyśmy warunek GROUP BY po przez:
SELECT Klient,SUM(Cena) FROM zamówienia;
Wtedy tabela będzie zawierała zduplikowane wartości, które nie są użyteczne:
Klient | SUM(Cena) |
---|---|
Kowalski | 5700 |
Nowak | 5700 |
Kowalski | 5700 |
Kowalski | 5700 |
Kaczor | 5700 |
Nowak | 5700 |
Listing
Ranga: Administrator serwisu Punktów: 0