Kann es sein das es in der ersten View-Tabelle:
sum(voting) as this_rating
heißen, muß? Wennich das so teste, ist das Ergebnis irgendwie korrekt :-)
Nabend,
ich komme irgendwie nicht weiter, trotz verschiedener Webseiten, wie http://webdesignlovers.ch/2011/10/or...e-a-superhero/ und http://www.thebroth.com/blog/118/bayesian-rating.
Ich habe eine Tabelle erstellt.
ID, venueID, voting (voting von 1-10 möglich)
Hier werden alle Votings zu den Venues abgespeichert.
Nun habe ich wie auf der Site angegeben 2 View Tabellen erstellt.
Code:SELECT venueID, (select count(venueID) from test_voting) / (select count(distinct venueID) from test_voting) as avg_num_votes, (select avg(voting) from test_voting) as avg_rating, count(venueID) as this_num_votes, avg(voting) as this_rating FROM test_voting group by venueIDDas funktioniert auch alles perfekt nur macht mich das Ergebnis sehr stutzig.Code:select venueID, ((avg_num_votes * avg_rating) + (this_num_votes * this_rating)) / (avg_num_votes + this_num_votes) as real_rating from myRanking order by real_rating
Wenn ich nur 1 Voting von 10 für eine Venue abgebe, dann bleibt diese ewig auf Platz 1 obwohl ich für eine 2. Venue 10 Stimme a 9 abgebe. Genau sowas soll doch eigentlich nicht passieren, oder?
Wenn ich nun zur ersten Venue noch ein zweites Voting abgeben von sagen wir 5, verändert sich das Ranking schlagartig.
Da stimmt doch was nicht...oder habe ich da was nicht ganz verstanden?
Grüße,
derDenis
Kann es sein das es in der ersten View-Tabelle:
sum(voting) as this_rating
heißen, muß? Wennich das so teste, ist das Ergebnis irgendwie korrekt :-)
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)