这些列有一个world的表:
continentnamepopulation

查询是:
一些国家的人口是其邻国(在同一大陆上)的三倍以上。给国家和大洲。

解决方案是:

SELECT name, continent FROM world x WHERE
 population > ALL
 (SELECT population*3 FROM world y
 WHERE y.continent = x.continent
 AND y.name != x.name)


我不明白最后一部分y.name != x.name。在这种情况下,我实际上并没有100%理解为什么您需要y.continent = x.continent

最佳答案

您有一个相关的子查询。

这样可以确保您位于同一大陆(y.continent = x.continent),并且不要将任何国家与其自身(y.name != x.name)进行比较。

关于mysql - SQL Zoo中的最后一个查询,SELECT教程,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38287631/

10-09 08:31