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

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

给了我一张名为 world 的表:

我希望这样:

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

【问题讨论】:

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

标签: sql select


【解决方案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

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

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

【讨论】:

    猜你喜欢
    • 2015-05-02
    • 1970-01-01
    • 1970-01-01
    • 2018-12-22
    • 2014-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多