Bardzo dziękuję za szybką i w dodatku dobrą odpowiedz.
Jakby ktos nie wiedzial o co chodzi, to pokazuje dla osob, ktore beda mialy podobny problem, dokladnie jak trzeba zrobic:
SELECT *, COUNT(komentarze.id_artykulu) AS ile
FROM artykuly
LEFT JOIN komentarze ON artykuly.id = komentarze.id_artykulu
GROUP BY artykuly.id ORDER BY ile DESC
Zapytanie pobiera wszystkie informacje o artykułach z tabeli artykuly, laczy tabele artykuly z tabela komentarze za pomoca ID z tabeli artykuly, poniewaz tabela komentarze posiada ID_ARTYKULU, do ktorego sie odnosi. Po "polaczeniu" tych dwoch tabel zapytanie przy pomocy GROUP BY grupuje wyniki wedlug ID z tabeli z artykulami i sortuje malejaco wedlug ilosci komentarzy pod danym artykulem.
Mam tylko jeden problem z tym zapytaniem. Nie spodziewalem sie ze tak bedzie ono wygladac i chociaz dziala to nie potrafie dodac do niego warunku WHERE. Otoz chcialbym zeby wyswietlalo artykuly tylko z ostatniego dnia oraz tylko te, ktore maja przynajmniej jeden komentarz. Po dodaniu warunku WHERE w ten sposob dostaje blad:
SELECT *, COUNT(komentarze.id_artykulu) AS ile
FROM artykuly
WHERE (czas_dodania_timestamp > 1319299974)
LEFT JOIN komentarze ON artykuly.id = komentarze.id_artykulu
GROUP BY artykuly.id ORDER BY ile DESC
A oto błąd:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LEFT JOIN komentarze ON artykuly.id = komentarze.id_artykulu GROUP BY artykuly.id ORDER' at line 1
Bede wdzieczny za ponowna pomoc.
Pozdrawiam!