Witam, od pewnego czasu rozmyślam nad pewną sytuacją a dokładniej. Mam np. tabele zakupy i mam tam id, user_id, cena i potrzebuję zliczyć sumę ceny dla każdego z użytkowników oraz na podstawie user_id sprawdzić name w tabeli users i je wyświetlić wraz z sumą danego użytkownika. Problem jest w tym że w tabeli zakupy nie wiadomo ile jest rekordów np. dla użytkownika o user_id 1 czy 10. Mam nadzieje że dobrze to wytłumaczyłem, najwyżej postaram się użyć painta :D
Dlaczego tabeli z zamówieniami nie można filtrować po użytkownikach?
ale w czy masz problem? Przecież to podstawy SQLa
abrakadaber napisał(a):
ale w czy masz problem? Przecież to podstawy SQLa
Nie problem jest zsumować ceny a problem jest zsumować ceny wszystkich użytkowników osobno o to mi chodzi, z sql kuleje to racja :)
korake napisał(a):
Nie problem jest zsumować ceny a problem jest zsumować ceny wszystkich użytkowników osobno o to mi chodzi, z sql kuleje to racja :)
Polecam do tego użyć:
GROUP BY user_id
Masz przykładowo dane w tabeli:
id user_name price
1 Kowalski 5.26
2 Nowak 22.30
3 Jankowska 56.20
4 Kowalski 12.20
5 Kowalski 6.17
6 Jankowska 5.99
7 Jankowska 11.40
8 Nowak 41.15
9 Nowak 9.99
10 Jankowska 16.59
11 Kowalski 71.50
12 Clinton 5.20
Używając zapytania:
select user_name as 'kupujący', sum(price) as 'wartosc zakupów'
from zakupy
group by user_name
order by user_name
Otrzymujesz wynik:
kupujący wartosc zakupów
Clinton 5.20
Jankowska 90.18
Kowalski 95.13
Nowak 73.44