我使用SQL zoo来刷新我的SQL知识并发现了以下问题:
"有些国家的人口是其中任何一个国家的三倍以上 他们的邻居(在同一个大陆)。给国家和 洲"
我为此提出的解决方案是:
SELECT name, continent
FROM world w
WHERE NOT EXISTS (
SELECT *
FROM world nx
WHERE nx.continent = w.continent
AND nx.population <= 3*w.population)
口译员说我的栏目太少了#34; (在number 8 problem on SQL zoo上)。我不确定这里有什么不对。任何建议或帮助表示赞赏。
答案 0 :(得分:2)
该页面有一个&#34;显示正确的结果&#34;按钮,如果不是您使用的SQL语句,它应该告诉您结果的错误结果。
当我使用你的SQL语句来解决这个问题时,我会得到正确的列,但行数不对,所以我必须假设你在某个地方输错了。
该问题的一个正确答案是:
SELECT name, continent
FROM world w
WHERE population IS NOT NULL
AND NOT EXISTS (
SELECT * FROM world x
WHERE x.continent = w.continent
AND population IS NOT NULL
AND x.name != w.name
AND x.population > w.population/3
)