2012-04-14 5 views
1

Ich entwerfe eine Website und weiß nicht, wie ich das System in Bezug auf Logik bewerten soll.MYSQL Sortieren von Inhalten nach Bewertung Logik und Meinung?

Ergebnis ist, ich möchte einen Artikel mit 4 Sternen mit 1000 Stimmen höher als ein Artikel mit 1 Stimme von 5 Sternen. Ich möchte jedoch nicht, dass ein Gegenstand mit 1 Stern mit 1000 Stimmen höher eingestuft wird als ein Gegenstand mit 4 Sternen und 200 Stimmen.

Wer hat irgendwelche Ideen oder Ratschläge, was zu tun ist?

fand ich diese beiden Fragen

Sorting by weighted rating in SQL?

MySQL Rating System - Find Rating

und sie haben ihre Nachteile und in der ersten verstehe ich nicht, was die Gewinner bedeutet durch „Sie wollen kann dies denormalize Rating-Wert aus Performancegründen in die Veranstaltung einfließen lassen, wenn Sie viele Einschaltquoten haben. " Bitte teilen Sie einige Einblicke? Vielen Dank!

+1

Sie sollten damit beginnen, strenge formale Regeln zu definieren, was höher eingestuft werden sollte als was. Ohne dies können Sie nichts tun. –

+0

Ich verstehe, dass es eine ziemlich breite Frage ist, aber ich hatte gehofft, dass jemand mir sagen könnte, ob es eine generische Formel dafür gibt, etwas, das Youtube oder eine Kunstseite wie deviantart verwendet. Ich habe das Gefühl, dass mir einfach das Wissen fehlt und etwas existiert bereits als Standard. Danke für das Interesse und die Antwort! – Darius

+0

Dann hätten Sie eine solche Frage formulieren sollen. Es gibt keine solche Formel. Jede große Website definiert ihre eigenen Sortierkriterien. –

Antwort

1

Hier ist eine kurze Skizze eines solchen Systems, das durch Definieren eines Bonusfaktors xₙ für jede Flagnummer funktioniert. Nach Ihrer Frage möchten Sie:

x₄*4*1000 > x₅*1*5 

und

x₁*1*1000 < x₄*4*200 

die Faktoren, zum Beispiel Einstellung x₁=1, x₄=2 und x₅=2 wird diese erfüllen, aber Sie werden natürlich wollen es anpassen und fügen Sie die fehlende Faktoren.

1

Er meint, Sie sollten Bewertungsdaten in die Ereignistabelle eingeben (und somit redundante Daten haben), um sie für die Leistung zu optimieren.

Siehe Wiki für Denormalisierung: http://en.wikipedia.org/wiki/Denormalization

Die Daten, die Sie in den Rang von Elementen ist, um zu bestimmen haben:

  • Anzahl der Bewertungen

    • durchschnittliche Bewertung

    Der schwierige Teil ist wahrscheinlich Regeln für das Ranking zu machen. Wie: Wenn die durchschnittliche Bewertung für einen Artikel> 4 und die Anzahl der Bewertungen < 4 Behandeln Sie es wie bewertet 3,9

    Für die Bequemlichkeit würde ich diesen Wert (wie die Artikel für das Ranking behandeln) in der Artikel-Tabelle setzen.