Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: sumowanie warunkowe
Forum PHP.pl > Forum > Bazy danych > MySQL
dev2222
Witam, potrzebuje zrobic myk z warynkowym sumowaniem w mysql.

muszę dostać zsumowane pola 'ilosc' wszystkich rekordow w ktorych powtarza sie pole 'nazwa_id'
żeby nie było tak łatwo, wartosci mają sie sumować zaleznie od tego czy kolumna 'typ' sie powtarza czy nie...

zasadniczo w phpie jestem w stanie to obrobić ale serwer sie przewraca. mam prawie milion rekordow, oczywiscie ponizsze to tylko przykład dla szybkiego zobrazowania.


sądzę, że sama baza przy poprawnie zrobionym zapytaniu sobie z tym poradzi.

czyli mamy

id | nazwa_id | typ | ilosc
---------------------------
1 | samochod | dżip | 20
2 | samochod | dzip | 32
3 | łódka | | 1
4 | łódka | | 4
5 | łódka | | 1
6 | łódka | | 2
7 | łódka | | 5
8 | drezyna | | 3
9 | samochod | kombi | 1
10 | łódka | mała | 32
11 | łódka | | 2

efekt jaki bym chciał dostać wykonując jedno zapytanie:

1 | samochod | dżip | 52
2 | łódka | | 15
3 | drezyna | | 3
4 | samochod | kombi | 1
5 | łódka | mała | 32


jest ktos w stanie pomoc mi to załatwić jednym zapytaniem?
dzieki i pozdrawiam
dev
ixox
  1. SELECT id, nazwa_id, typ, SUM(ilosc) AS ilosc FROM tabela GROUP BY nazwa_id
sazian
a przypadkiem grupowanie nie powinno być po nazwa_id i typ.
W select nie powinno być id

czyli
  1. SELECT nazwa_id, typ, SUM(ilosc) AS ilosc FROM tabela GROUP BY nazwa_id,typ
ixox
Faktycznie. Mój błąd smile.gif
dev2222
hmm, dzięki wielgachne panowie.

ja kombinowałem z warunkowymi sumami, a tu proszę...
rozumiem ze moge dżoinować z innymi tabelami, albo zamiast dżoina zapodac subnselecta na nazwe (bo akurat mam w tabeli nazw wiele powtorzonych, a potrzebuje tylko wynik zlimitowany na 1)?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.