Hoogste Gemiddelde Rating

Status
Niet open voor verdere reacties.

ErikBooy007

Terugkerende gebruiker
Lid geworden
24 mei 2007
Berichten
3.814
Ik heb voor een vriend van me een site gemaakt waar hij zijn webcomics neer kan zetten. (http://www.urgh.nl)

Nu zou ik graag, waar nu het archief staat, rechts onderaan de pagina, een lijstje met de best gewaardeerde comics van de afgelopen maand neerzetten bijvoorbeeld.

Ik heb twee tabellen die van belang zijn, comic en rating:

comic:
tbl_comic.png


rating:
tbl_rating.png


Hoe kan ik nu bijvoorbeeld comics selecteren waarbij de gemiddelde rating het hoogst is (en waar de datum van posten niet meer dan 30 dagen geleden is)?
 
Ik zal een poging wagen:[sql]select avg(value) as cijfer, comic.name from rating inner join comic on rating.comic = comic.id where rating.DATE > date_sub(now(),interval 30 day) group by comic.id order by cijfer desc[/sql]
 
Er is resultaat! :D

Echter nog niet exact wat ik wilde. Op één of andere manier krijg ik zo slechts 1 resultaat.

Alleen:

[table="width: 500, class: dotted"][tr][td]cijfer[/td][td]name[/td][/tr]
[tr][td]3.0000[/td][td]Examen Grieks[/td][/tr][/table]

terwijl ik graag zou willen hebben:

[table="width: 500, class: dotted"][tr][td]cijfer[/td][td]name[/td][/tr]
[tr][td]3.0000[/td][td]Cool Vogeltje[/td][/tr]
[tr][td]3.0000[/td][td]Examen Grieks[/td][/tr]
[tr][td]3.0000[/td][td]Schaduwfiguren[/td][/tr][/table]

Hmm, beetje slecht voorbeeld zo... :P Maar heb je enig idee hoe het komt, dat er nu slechts 1 resultaat terugkomt?
 
In de topicstart gaf je aan dat je alleen de ratings van de laatste 30 dagen wilde laten meetellen. In de query wordt daar rekening mee gehouden, dus alles dat ouder is dan 30 dagen komt niet terug als resultaat.

De enige twee ratings die dus meetellen zijn rating.ID 15 en 16 (alle andere staan op datum 13 augustus, dus meer dan 30 dagen geleden). rating.ID 15 verwijst naar de niet bestaande comic.id 11 dus blijft alleen rating.id 16 over :)
 
Laatst bewerkt:
Ooh, wat slecht van me... Ik ben pas sinds een paar dagen echt serieus weer bezig, daarom dacht ik dat alle ratings wel van afgelopen week waren, maar ik was er inderdaad al ruim een maand geleden mee begonnen.

Je wordt bedankt, het werkt fantastisch! :D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan