寻找具有最多开发人员参与的视频游戏的方法(使用SQL查询)
P粉768045522
P粉768045522 2023-09-04 16:18:24
[MySQL讨论组]

假设我们有3个表,分别是videogames、developers和workson。

在videogames表中,我们有以下属性:

  • videogameid(主键)
  • 标题
  • 年份
  • genre

然后在developers表中,我们有:

  • developerid(主键)
  • 姓名
  • gender

然后在workson表中,我们有:

  • videogameid(主键和外键)
  • developerid(主键和外键)

我的代码尝试:

SELECT MAX(videogameid)
FROM 
(SELECT videogameid
FROM workson
GROUP BY videogameid
HAVING COUNT(DISTINCT developerid)>5
)videogames_with_most_developers;

然而,我未能检索到带有标题的答案(主要是因为我没有选择标题),但这是因为我似乎无法建立连接。

编辑:我们有一些示例数据,videogames表中有:

插入视频游戏(videogameid、标题、年份、类型)

VALUES (111,'魔兽世界',2004,'MMORPG'); 插入视频游戏(视频游戏 ID、标题、年份、类型) VALUES (112,'星际争霸2',2008,'RTS');

developers表中有:

插入开发人员(开发人员 ID、性别、姓名) 值(98734,'M','约翰逊'); 插入开发人员(开发人员 ID、性别、姓名) 值(98735,“F”,“里贾纳”); 插入开发人员(开发人员 ID、性别、姓名) 值(98736,“M”,“拉马尔”);

workson表中有:

插入workson(videogameid,developerid) 值 (111, 98734); 插入workson(videogameid,developerid) 价值观 (111, 98735); 插入workson(videogameid,developerid) 值 (112, 98736);

预期输出应该是标题为'魔兽世界',因为它有最多的导演在此项目上工作,数量为2,而标题为'Starcraft 2'的项目在此示例数据中没有最多的开发人员。

P粉768045522
P粉768045522

全部回复(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。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号