Möglichkeit, Videospiele mit der größten Entwicklerbeteiligung zu finden (mithilfe einer SQL-Abfrage)
P粉768045522
P粉768045522 2023-09-04 16:18:24
0
1
542
<p>Angenommen, wir haben drei Tische, nämlich Videospiele, Entwickler und Workson. </p> <p>In der Tabelle „Videospiele“ haben wir die folgenden Attribute: </p> <ul> <li>videogameid (Primärschlüssel)</li> <li>Titel</li> <li>Jahr</li> <li>Genre</li> </ul> <p>Dann haben wir in der Entwicklertabelle: </p> <ul> <li>developerid (Primärschlüssel)</li> <li>Name</li> <li>Geschlecht</li> </ul> <p>Dann haben wir in der Workson-Tabelle: </p> <ul> <li>videogameid (Primär- und Fremdschlüssel)</li> <li>developerid (Primär- und Fremdschlüssel)</li> </ul> <p>Mein Codeversuch: </p> <pre class="brush:php;toolbar:false;">SELECT MAX(videogameid) AUS (Videospiel-ID AUSWÄHLEN VON workson GRUPPE NACH Videospiel-ID HAVING COUNT(DISTINCT DeveloperID)>5 )videogames_with_most_developers;</pre> <p>Ich konnte jedoch keine Antworten mit Titeln abrufen (hauptsächlich, weil ich keinen Titel ausgewählt habe), aber das liegt daran, dass ich anscheinend keinen Zusammenhang herstellen kann. </p> <p>Bearbeiten: Wir haben einige Beispieldaten in der Videospieltabelle: </p> <p>Videospiel einfügen (Videospiel-ID, Titel, Jahr, Typ)</p><p> VALUES (111, „World of Warcraft“, 2004, „MMORPG“); Videospiel einfügen (Videospiel-ID, Titel, Jahr, Typ) VALUES (112,'StarCraft II',2008,'RTS');</p> <p>Die Entwicklertabelle enthält: </p> <p>Entwickler einfügen (Entwickler-ID, Geschlecht, Name) value(98734,'M','Johnson'); Geben Sie den Entwickler ein (Entwickler-ID, Geschlecht, Name) value(98735,"F","Regina"); Geben Sie den Entwickler ein (Entwickler-ID, Geschlecht, Name) value(98736,"M","Lamar" </p> <p>Die Workson-Tabelle enthält: </p> <p>workson(videogameid,developerid) einfügen Wert (111, 98734); Workson einfügen (Videospiel-ID, Entwickler-ID) Werte (111, 98735); Workson einfügen (Videospiel-ID, Entwickler-ID) Wert (112, 98736);</p> <p>Die erwartete Ausgabe sollte die mit dem Titel „World of Warcraft“ sein, da dort mit einer Zählung von 2 die meisten Regisseure an diesem Projekt arbeiten, während das Projekt mit dem Titel „Starcraft 2“ in dieser Stichprobe nicht die meisten Entwickler hat Daten . </p>
P粉768045522
P粉768045522

Antworte allen(1)
P粉158473780

在选择查询中选择的列/聚合函数(MAX、COUNT、AVG等)将显示为一个表格。 在你的查询中:

SELECT MAX(videogameid) FROM ....

只会显示具有最大值的视频游戏的id。你只选择了具有最大值的videogameid。在查询的第二部分中,选择了与5个以上开发人员合作的videogameid。同样,没有选择标题与外部SQL查询连接。

修改后的查询:

SELECT videogameid,title
FROM videogames WHERE videogameid IN
(SELECT videogameid
FROM workson
GROUP BY videogameid
HAVING COUNT(DISTINCT developerid)>5
);

此查询显示具有5个以上开发人员的videogameid和标题

另一个查询:

SELECT COUNT(developerid) AS dev_count,videogameid FROM workson GROUP BY videogameid
ORDER BY dev_count DESC LIMIT 1;

这显示了具有最多开发人员的选定视频游戏的videogameid和开发人员数量。没有标题

如果我们想要看到标题:

SELECT videogameid,title FROM videogames WHERE videogameid IN
(SELECT videogameid FROM (SELECT COUNT(developerid) AS count,videogameid FROM workson GROUP BY videogameid
ORDER BY COUNT(developerid) DESC LIMIT 1) AS T);

此查询显示具有最多开发人员的标题和videogameid。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!