sqlzoo
6.For each continent show the continent and number of countries.
對於每一個洲份,顯示洲份和國家的數量。
我理解答案,想求助为什么这样写子查询不行





关注让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言问题的答案是通过使用子查询来实现的。在这种情况下,我们需要使用一个子查询来计算每个洲份的国家数量,然后将结果与continent表连接以显示洲份名称。 下面给出正确的代码:
SELECT continent,
(SELECT COUNT(*) FROM world w2 WHERE w2.continent = w1.continent) AS number_of_countries
FROM world w1
GROUP BY continent;
在这段代码中,我们首先从world表中选择洲份和国家数量。我们使用子查询 (SELECT COUNT(*) FROM world w2 WHERE w2.continent = w1.continent) 来计算每个洲份的国家数量,其中 w1 和 w2 是两个别名,分别代表world表的两个实例。然后我们将结果与continent表连接,最后使用GROUP BY将结果按洲份分组。 请确保数据库中包含world表和continent表,并且已正确连接数据库。如果代码仍然不工作,请确认表结构和数据是否正确,并检查数据库连接。