Wie Sie die Summe und teilen sich in MySql
Okay, also ich habe eine Tabelle user und möchte den max-Wert für den Benutzer mit der höchsten Anzahl der Punkte geteilt durch die Partitur. Unten ist eine grobe Vorstellung von dem, was ich Suche:
SELECT MAX(SUM(points)/SUM(score)) FROM users
Ich bin nicht daran interessiert, hinzufügen von bis beide Spalten und zu teilen, sondern ich bin daran interessiert, die Aufteilung der Punkte und die Punktzahl für jeden Benutzer und ruft den höchsten Wert aus der Menge.
- Nicht SELECT MAX(Punkte/score) VON Benutzern, die nicht arbeiten?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vielleicht könnte man dies mit einer Unterabfrage:
Und als thesunneversets erwähnt in einem Kommentar, dass kann wohl gekürzt werden
Du bist schriftliche Beschreibung, was du versuchst zu tun macht es nicht klar, warum dein Beispiel hat
SUM
in es, so dass ich es nicht verwenden.Auch, code-Fragen wie diese sind besser geeignet für stackoverflow.com. Sie können die Flagge Ihres eigenen Frage an einen moderator zu migrieren.
FrustratedWithFormsDesigner Antwort wird nicht funktionieren, wenn Sie benötigen, um summieren sich all die Punkte, dann die Noten, und dann teilen die zwei. Diese Antwort teilt jeder Punkt von der Punktzahl, so gibt die höchste Antwort.
Sollte dies funktionieren:
BTW, dies gibt eine "ungewöhnliche" Prozentsatz. Sie wollen wahrscheinlich teilen der Partitur durch Punkte. Zum Beispiel, wenn Sie 70 von 100, 70%, oder-Kerbe (70) /Punkte (von 100).
Ich bin mir nicht sicher, ob dies aufgrund des Alters von diesem post-oder MySQL-version zu der Zeit, aber als ich versuchte, die oben genannten Lösungen die folgende Fehlermeldung ausgegeben wurde:
Konnte ich dies beheben, verwenden Sie die folgenden:
SELECT MAX(sum_points /sum_score) from (SELECT SUM(points) as sum_points, SUM(score) as sum_score FROM users) as max_value;