Wie kann ich alle Länder auswählen, die mehr als die durchschnittliche Anzahl der (jeder) Medaille in allen Ländern aus der unten stehenden Tabelle gewonnen:MySQL Auswahl basiert auf AVG-Funktion
+-----------+-------------+--------+-----------------+----------------------------+-------------------------------+-----------------------------------------+---------------------------------+-------------------------+
| idRESULTS | STATUS | MEDALS | EVENTS_idEVENTS | EVENTS_ATHLETES_idATHLETES | EVENTS_ATHLETES_TEAMS_idTEAMS | EVENTS_ATHLETES_TEAMS_COUNTRY_idCOUNTRY | EVENTS_VARIOUS_SPORTS_SPORTS_ID | awarded_medals_medal-id |
+-----------+-------------+--------+-----------------+----------------------------+-------------------------------+-----------------------------------------+---------------------------------+-------------------------+
| results1 | DID-NOT-WIN | SILVER | TEN | MS | RUS-WTA | RUS | WOMENS_TENNIS | 2 |
| results1 | WON | GOLD | TEN | VW | USA-WTA | USA | WOMENS_TENNIS | 3 |
| results2 | DID-NOT-WIN | BRONZE | ATH | JG | USA-TF-MEN | USA | TRACK-AND-FIELD | 3 |
| results2 | WON | GOLD | ATH | UB | JAM-TF-MEN | JAM | TRACK-AND-FIELD | 1 |
| results3 | WON | GOLD | TEN-DOUBLE | SW | USA-WTA | USA | WOMENS_TENNIS | 3 |
| results3 | WON | GOLD | TEN-DOUBLE | VW | USA-WTA | USA | WOMENS_TENNIS | 1 |
+-----------+-------------+--------+-----------------+----------------------------+-------------------------------+-----------------------------------------+---------------------------------+-------------------------+
Ich benutze Dieser Code:
CREATE VIEW `Countries_Athletes_who_wo_Gold` AS
select * from results where medals = 'Gold'
select EVENTS_ATHLETES_TEAMS_COUNTRY_idCOUNTRY, medals from countries_athletes_who_wo_gold
where medals > (select AVG(medals) from countries_athletes_who_wo_gold) ;
aber bekomme ich nicht die erforderliche Ausgabe?
Haben Sie ohne die 'VIEW' versucht? Es sieht alles aus, was Sie tun müssen, um zu versuchen, die zwei Verweise auf den Ansichtsnamen in der Abfrage durch 'Ergebnisse, wo Medaillen = 'Gold' ersetzen. Vielleicht müssen Sie die Medaillen zuerst nach Ländern summieren, dann den Durchschnitt daraus ziehen und dann die Länder finden, deren Gesamtmedaillen den Durchschnitt der Gesamtbeträge übersteigen. – Uueerdo
Ihr Code sieht so aus, als sollte es funktionieren. Welche Ausgabe erwartest du, was bekommst du stattdessen? – Barmar
Ich möchte alle Länder auflisten, die mehr als die durchschnittliche Anzahl (beliebiger) Medaillen in diesem Fall gewonnen haben. Gold – blueGOLD