SQL 查询未返回预期结果

Posted

技术标签:

【中文标题】SQL 查询未返回预期结果【英文标题】:SQL query does not return expected result 【发布时间】:2019-12-06 21:12:31 【问题描述】:

我正在运行可以在此处找到的示例:https://sqlzoo.net/wiki/SELECT_within_SELECT_Tutorial

给了我一张名为 world 的表:

我希望这样:

为什么会得到这个结果,如何更正我的 SQL 查询?

【问题讨论】:

你期待什么结果? 请看我更新的帖子 将代码添加为文本而不是图像 我相信这就是你所需要的;选择大陆,[name] from [world] 按大陆 asc,[name] asc 排序 @sam 显然不会每个大陆只返回一个国家 【参考方案1】:

使用

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

世界上每个国家/地区都有一行,每个大洲都有很多 - 您需要限制在结果集中只返回一个大洲。

如果您想知道,这种技术称为相关子查询。

【讨论】:

以上是关于SQL 查询未返回预期结果的主要内容,如果未能解决你的问题,请参考以下文章

PL/SQL 过程未返回预期结果

查询结果未按预期返回

PHP SQL Server 2008 未返回预期结果

带有 COUNT() 函数的 SQL 联合未返回预期结果

带有 resultClass 参数的 NamedQuery 未返回查询结果的预期“类型”

Oracle Apex 中的计算未返回预期结果