Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zliczanie i grupowanie w jednym?
Forum PHP.pl > Forum > Bazy danych > MySQL
hmmm
mam tabele kategorie i w niej kolumny id i kategoria.

chcialbym teraz zrobic na stronie tak, ze jezeli liczba kategorii jest rowna 0, wowczas ma mi wyswietlic, ze nie ma rekordow w bazie, a jezeli liczba wieksza niz zero, to wowczas kategorie maja zostac dodane do tablicy w petli while.

no ale chodzi mi o same zapytanie - da sie to zrobic za pomoca jednego?
probowalem tak:
  1. SELECT count(id), DISTINCT kategoria
  2. FROM kategorie;
to oczywiscie nie dzialalo, to probowalem
  1. SELECT DISTINCT kategoria, count(id)
  2. FROM kategorie;
no ale to tez nie dziala.
zrobilem wiec
  1. SELECT count(id), kategoria
  2. FROM kategorie ORDER BY kategoria;
no ale nie zwraca liczby wszystkich kategori ...

musze to rozbic na dwa zapytania?
SongoQ
Cytat
select count(id), kategoria
from kategorie
order by kategoria;


To Ci zwroci ile jest rekordow w kategori.

Zeby zwroci ile jest kategori musisz pogrupowac
  1. SELECT count(id), kategoria
  2. FROM kategorie GROUP BY kategoria
  3. ORDER BY kategoria;
hmmm
moj blad - napisalem w moim trzecim rozwiazaniu order by, a w wierszu polecen robilem group by tongue.gif

dziala, ale czy da sie zrobic tak, aby w lewej kolumnie wyswietalo ilosc wszystkich rekordow? nie wiem, jakos zsumowac?
SongoQ
Jesli chesz zsumowac wszystkie rekordy we wszystkich kategoriach to musisz uzyc podzapytania => MySQL sad.gif
hmmm
eee ... czyli?
nie mam pojecia, o czym mowisz tongue.gif
SongoQ
Bo nie bardzo zrozumielam o co chodzi, chesz miec count wszystkich rekordow, ilosc w kategori i kategorie?

Jesli tak to w 1 zapytanie nie da sie.
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.