Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Count, zliczanie powtarzających się id
Forum PHP.pl > Forum > Przedszkole
tuxxx
Mam tabele :

użytkowników,
komentarzy,
newsów

Chciałbym na stronie głównej wyświetlić 10 najnowszych wpisów (to umiem zrobić), + obok tytułu podać liczbę komentarzy dla każdego newsa...Jak to zrobić, ponieważ jedyny sposób jaki znam to wziąć w pętle zapytanie i tak generować count-a, ale to nie jest optymalne, jak to zrobić za pomocą jednego zapytania ?
Crozin
Nie rób tego na zasadzie każdorazowego zliczania ilości komentarzy, bo to niepotrzebne obciążenie dla bazy danych. Mógłbyś to zrobić korzystając z COUNT() i GROUP BY, ale lepiej jest do tabeli newsów dodać kolumnę ilość_komentarzy i zwiększać ją o jeden przy dodaniu komentarza i analogicznie przy usunięciu takiego.
thek
To mniej więcej szablon. Dopisz sobie lub zmień co trzeba...
  1. SELECT n.*, count(k.id) AS ilosc FROM news n LEFT JOIN komentarze k ON n.id = k.id_artykulu GROUP BY n.id ORDER BY n.id DESC LIMIT 10
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.