Ich baue (in Rails) eine App, um NBA-Daten zu kratzen (hauptsächlich für meine eigene Erbauung und ein Lernwerkzeug). Ich habe mit postgresql von Grund auf angefangen, weil es einfach mehr Sinn macht, wenn ich damit hosten werde. Das Datenbankschema ist genau so eingerichtet, wie ich es möchte here.Wie berechne ich den Durchschnitt, wenn die Zahlen gruppiert werden
Teilnehmerinstanzen basieren auf einem TEAM-Konzept Statistische Instanzen basieren auf einem PLAYER-Konzept und daher bilden viele Instanzen der Statistik die "Gesamtsummen" für den Teilnehmer.
Die folgende Abfrage:
Select SUM(steals) from statistics
INNER JOIN participants on statistics.participant_id = participants.id
INNER JOIN teams on participants.team_id = teams.id
WHERE teams.id = 15
GROUP BY statistics.participant_id;
Ausbeuten (in der psql-Terminal app)
sum
-----
8
7
5
7
6
7
10
6
7
6
7
5
9
11
4
7
8
Wie kann ich die SQL-Abfrage schreiben um den Durchschnitt zu berechnen, basierend auf diesen 17 Zeilen
(Bearbeiten, um die Abfrage zu vereinfachen und nur eine Frage zu stellen)
@MageeWorld Sie sind in der Nähe zu tun, was Sie wollen.Gehen Sie es versuchen und betrachten 'Aggrigate Funktionen' wie 'AVG()' für diese. –
Verwenden Sie einen Subselect: 'SELECT ... VON (SELECT ... GROUP BY ...) s GROUP BY ...' –
@CoderofCode Ich weiß über Aggregatfunktionen (obwohl die meisten meiner Erfahrung in MySQL ist), aber ich weiß nicht, wie Sie die Aggregatabfrage in einer durchschnittlichen Abfrage umschließen – MageeWorld