Autor Zpráva
Lojza
Profil *
Zdravím,

Mám tabulku hry (id,nazev), dále mám tabulku hodnoceni(id,id_hry,hodnoceni(int),datum_pridani)

V tabulce hodnocení může být x řádků k jedné hře.. (hodnocení od více lidí).

Nejlépe ohodnocené hry vypíšu tímto způsobem:

select h.*, avg(r.hodnoceni) prumer
from hry h join hodnoceni r on h.id=r.idh
group by h.id
order by prumer desc
limit 10

Jak vypíšu nejlépe hodnocené hry ZA POSLEDNÍ TÝDEN? (tzn. aby to průměrovalo jen z těch hodnocení, které nejsou starší jak týden)

Zkouším to takto, ale nejsem si jistý, jestli to funguje správně a HLAVNĚ to neřadí podle "prumer".

$dat_new = date("Y-m-d", time()-604800);

select h.*, avg(r.hodnoceni) prumer
from hry h join hodnoceni r on h.id=r.idh
WHERE r.datum >= '$dat_new'
group by h.id
order by prumer desc
limit 10

Datumy mám v DB uložené ve formátu Y-m-D
Kajman_
Profil *
WHERE r.datum>date_sub(now(), interval 7 day)
Lojza
Profil *
WHERE r.datum>date_sub(now(), interval 7 day)
To je přesně ono, moc děkuji!

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:

0