Autor Zpráva
BuGeR
Profil
Zdravím.
Předem chci upozornit, že je to zdarma, tudíž od toho nic nečekejte, jen pro hodné duše :)..
Mám 2 tabulky:
rs_news
která mimo jiné, obsahuje sloupec "news_id"
--
rs_comments
která mimo jiné, obsahuje sloupec comment_type, comment_item
comment_type, musí mít hodnotu "N" (podle toho se pozná, že jde o komentář k novince)
a
comment_item, musí odpovídat hodnotě "news_id" (jde o přiřazení komentáře k novince, podle id novinky)

Potřeboval bych sepsat dotaz, který by mi vypsal posledních 10 nejokomentovanějších novinek..
Všem ochotným děkuji :).
B.
Alphard
Profil
Zkuste
select n.*, count(*) num from rs_news n left join rs_comments c on n.news_id = c.comment_item where c.comment_type = 'N' group by news_id order by num desc limit 10
BuGeR
Profil
Děkuji moc :)
Alphard
Profil
Doplňuji, že rychlejší možná bude
select n.* from (select comment_item, count(*) num from rs_comments where comment_type = 'N' group by comment_item order by num desc limit 10) c join rs_news n on c.comment_item = n.news_id
BuGeR
Profil
Ok :) ještě jednou teda děkuji, cením si toho :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: