Uzycie SUM i GROUP BY w zapytaniu SQL

0

Witam

Mam problem z zapytaniem, w którym wystepuje SUM() i GROUP BY.

Każde zlecenie na id, id klienta, datę ( typ DATE ), stawkę ( typ DECIMAL ), kolumnę paid ( 0 jeśli niezapłacone, 1 = zapłacone ) i inne mniej ważne.

Zapytanie ma zwrócić zsumowane kwoty dla każdego z klientów. Tylko dla tego miesiąca i tylko z paid = 0;

Napisałem takie zapytanie ale zwaraca mi tylko 1 kwotę 1 klienta o najniższym id i najniższą kwotę.

SELECT SUM(`cena`) FROM `zlecenia` WHERE YEAR(`data`) = YEAR(CURRENT_DATE) AND MONTH(`data`) = MONTH(CURRENT_DATE) AND `zaplacone` = '0' GROUP BY `id_klienta`

P.S. Nazwy kolumn zmienione tutaj na szybko.

0

no i? nie działa czy co?

0

@Kisialala Dobrze widzę? Masz oddzielne kolumny dla roku i miesiąca?

NVM, nie wypiłem jeszcze kawy.

Może masz tylko jeden rekord z datą: rok = 2015 oraz miesiąc = grudzień. Sprawdzałeś?

0

btw zakres daty lepiej zrobić tak data between data_od and data_do

0

wpisz to:

SELECT YEAR(`data`),MONTH(`data`),`id_klienta`,SUM(`cena`) FROM `zlecenia` where `zaplacone`=0 GROUP BY YEAR(`data`),MONTH(`data`),`id_klienta` ORDER BY YEAR(`data`) desc,MONTH(`data`) desc

i zobacz co pokaże, może to cię naprowadzi.

0

Fałszywy alarm Panowie :) Zapytanie poprawne, sprawdziłem w phpMyAdmin.
Pomyliłem się w kodzie PHP. Napisałem

print_r($result->fetch_assoc());

i zwróciło mi nie to co trzeba :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1