Erstellen Sie eine Tabelle, die die Gesamtzahl der Spieler für jede Sportart hält und nennen es sumPlayer (oder was auch immer du magst). Dann nehmen Sie Ihre Tabelle mit SumPlayer beitreten.
CREATE TABLE sport(
sport_name varchar(10),
numberOfPlayers int
)
INSERT INTO sport (sport_name, numberOfPlayers)
VALUES ('soccer', 10),
('football', 5),
('football', 11),
('baseball', 6),
('Tennis', 8),
('soccer', 15)
SELECT sport.sport_name, sumPlayer.totalPlayer
FROM sport LEFT JOIN (
SELECT sport_name, SUM(numberOfPlayers) AS totalPlayer
FROM sport
GROUP BY sport_name) sumPlayer ON sumPlayer.sport_name = sport.sport_name
dann sieht das Ergebnis wie folgt aus:
sport_name numberOfPlayers
soccer 10
football 5
football 11
baseball 6
Tennis 8
soccer 5
hoffe, das hilft, sollten Sie die GROUP BY
statement Kasse. In einem sehr allgemeinen Sinne, wenn Sie Aggregatfunktionen wie (COUNT, MAX, MIN, SUM, AVG) verwenden möchten, sollte GROUP BY
Ihr erster sein.
Bitte zeigen: Wie haben Sie weit gekommen? Was hast du probiert? – DaniDev
können Sie die Frage bitte mit dem RDBMS markieren, das Sie verwenden, wenn möglich. Es gibt syntaktische Unterschiede zwischen ihnen. – Turophile
Wo ist Ihre Anfrage? – Eric