我正在运行以下示例:https://sqlzoo.net/wiki/SELECT_within_SELECT_Tutorial
我得到了一个名为world的表:
我希望这样:
为什么会得到此结果,以及如何更正我的SQL查询?
答案 0 :(得分:2)
使用
SELECT distinct continent,
( SELECT name
FROM world b
WHERE a.continent = b.continent
ORDER BY name
LIMIT 1)
FROM world a
或
SELECT continent,
( SELECT name
FROM world b
WHERE a.continent = b.continent
ORDER BY name
LIMIT 1)
FROM world a
GROUP BY continent
您正在为世界上的每个国家/地区争吵,每个大洲都有很多--您需要限制结果集中返回的一个大洲。
如果您想知道的话,此技术称为相关子查询。