Hallo SQL-Profis,
ich habe da mal eine Frage.
Ich habe ein Bildvoting-System, was so funktioniert, dass jedes Voting (1-10 Punkte) in eine Feld geschrieben wir und die ID des Users.
Wenn ich nun die Punktzahl für einen User anzeige ist das Kein problem, alle Punkte zu dieser ID zusammenzählen und durch die Anzahl an Votes teilen.
Nun möchte ich aber eine Top 10 Anzeige. Also müssen alle User erst mal berechnet werden, vür jeden User alle Punkte zusammen zählen etc. Das frißt natürlich unheimlich Resourcen bei jedem Aufruf.
Kann man das evtl. schon innerhalb einer SQL Abfrage handeln? SQL überrascht mich immer mehr, was man da schon alles in die Query packen kann. Da gibts doch sicher auch einen Trick, wie man während dem SELECT schon berechnen kann wie viele Einträge eine ID hat und den Durchschnitt berechnet.
In meiner Tabelle habe ich folgende Felder:
user = Der zu bewertende User
points = die vergebene Punktzahl (1-10)
owner = der User, der gevotet hat (spiel hier nun aber keine Rolle)
Wäre für Hilfe sehr dankbar.
Grüße, Andi
ich habe da mal eine Frage.
Ich habe ein Bildvoting-System, was so funktioniert, dass jedes Voting (1-10 Punkte) in eine Feld geschrieben wir und die ID des Users.
Wenn ich nun die Punktzahl für einen User anzeige ist das Kein problem, alle Punkte zu dieser ID zusammenzählen und durch die Anzahl an Votes teilen.
Nun möchte ich aber eine Top 10 Anzeige. Also müssen alle User erst mal berechnet werden, vür jeden User alle Punkte zusammen zählen etc. Das frißt natürlich unheimlich Resourcen bei jedem Aufruf.
Kann man das evtl. schon innerhalb einer SQL Abfrage handeln? SQL überrascht mich immer mehr, was man da schon alles in die Query packen kann. Da gibts doch sicher auch einen Trick, wie man während dem SELECT schon berechnen kann wie viele Einträge eine ID hat und den Durchschnitt berechnet.
In meiner Tabelle habe ich folgende Felder:
user = Der zu bewertende User
points = die vergebene Punktzahl (1-10)
owner = der User, der gevotet hat (spiel hier nun aber keine Rolle)
Wäre für Hilfe sehr dankbar.
Grüße, Andi
Kommentar