使用两个表时,SQL在特定条件下获取最大值

拉尔斯·默滕斯

我目前在Oracle数据库中具有以下两个表

Table Continent with fields:
| CONTINENT | CONTINENTNAME |

Table Land with fields:
| LANDCODE | LANDNAME | CONTINENT | NUMBEROFLANGUAGES |

我想显示结果的洲名,地名和语言数量。在以下情况下:从每个洲显示具有最多语言数的地名

当前结果 我得到此查询,它将显示世界上使用最多语言的国家,如下所示:

CONTINENTNAME | LANDNAME | NUMBEROFLANGUAGES
--------------------------------------------
Asia          | India    | 26

最终,只有我一个人,而不是世界上所有大洲。我在这里使用错误的方法还是在解决此查询方面接近?我很想知道如何解决这个SQL难题。

二手查询

SELECT c.CONTINENTNAME, l.LANDNAME, l.NUMBEROFLANGUAGES
FROM land l
INNER JOIN continent c 
ON c.CONTINENT = l.CONTINENT
   WHERE l.NUMBEROFLANGUAGES =
   (  SELECT MAX(l.NUMBEROFLANGUAGES)
      FROM land l
   );
浅褐色的

您概念上很接近。我只是将您的SELECT MAX()查询作为联接移入,并基于此联接而将其联接到原始土地表。

SELECT 
      c.CONTINENTNAME, 
      l.LANDNAME, 
      l.NUMBEROFLANGUAGES
   FROM 
      land l
         INNER JOIN continent c 
            ON l.CONTINENT = c.CONTINENT
         INNER JOIN ( SELECT l2.CONTINENT,
                             MAX(l2.NUMBEROFLANGUAGES) maxLang
                         FROM 
                            land l2 
                         group by
                            l2.CONTINENT) preQuery
            ON l.CONTINENT = preQuery.CONTINENT
            AND l.NUMBEROFLANGUAGES = preQuery.maxLang

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用SQL Server在特定条件下从两个表中检索数据?

来自分类Dev

如何在sql中找出两个不同条件下字段的最大值

来自分类Dev

R:在特定条件下提取向量的最大值

来自分类Dev

在特定条件下获取数据集的特定值

来自分类常见问题

获取特定条件下的数据透视值

来自分类Dev

获取特定条件下的数据透视值

来自分类Dev

如何从两个表中获取特定字段最大值的行

来自分类Dev

如何在SQL中的某些条件下使用外键链接两个表?

来自分类Dev

SQL查询以获取在特定条件下具有其他列的重复列值

来自分类Dev

JSON:使用C#在特定条件下获取列表中的属性值

来自分类Dev

希望基于特定条件从两个表中聚合数据(SQL条件连接)

来自分类Dev

希望基于特定条件从两个表中聚合数据(SQL条件连接)

来自分类Dev

MYSQL从具有特定条件的两个表中选择值

来自分类Dev

在特定条件下基于两个数组快速创建新数组

来自分类Dev

SQL-如何联接两个表,但只有某些特定条件完全匹配?

来自分类Dev

INSERT INTO 的sql 在条件下分支到两个表?

来自分类Dev

在多个条件下连接两个表 - SQL Server

来自分类Dev

将两个不同表中的两列相乘后找到最大值-SQL

来自分类Dev

通过SQL连接表检索两个相关表的最大值

来自分类Dev

两个组合,jQuery选择插件仅在特定条件下工作

来自分类Dev

两个组合,jQuery选择插件仅在特定条件下工作

来自分类Dev

Oracle SQL 查询以获取记录的最大值,不包括值在两个范围内的记录(小于最大值和大于最大值)

来自分类Dev

如何在两个条件下使用

来自分类Dev

如何在满足特定条件的情况下找到范围内的最大值

来自分类Dev

与表连接,但仅在特定条件下

来自分类Dev

比较两个 MySQL 表之间的最大值

来自分类Dev

在特定条件下如何在一个会话中存储值

来自分类Dev

SAS:无法在特定条件下使用where或if条件。

来自分类Dev

linq在特定条件下获得多个值

Related 相关文章

  1. 1

    如何使用SQL Server在特定条件下从两个表中检索数据?

  2. 2

    如何在sql中找出两个不同条件下字段的最大值

  3. 3

    R:在特定条件下提取向量的最大值

  4. 4

    在特定条件下获取数据集的特定值

  5. 5

    获取特定条件下的数据透视值

  6. 6

    获取特定条件下的数据透视值

  7. 7

    如何从两个表中获取特定字段最大值的行

  8. 8

    如何在SQL中的某些条件下使用外键链接两个表?

  9. 9

    SQL查询以获取在特定条件下具有其他列的重复列值

  10. 10

    JSON:使用C#在特定条件下获取列表中的属性值

  11. 11

    希望基于特定条件从两个表中聚合数据(SQL条件连接)

  12. 12

    希望基于特定条件从两个表中聚合数据(SQL条件连接)

  13. 13

    MYSQL从具有特定条件的两个表中选择值

  14. 14

    在特定条件下基于两个数组快速创建新数组

  15. 15

    SQL-如何联接两个表,但只有某些特定条件完全匹配?

  16. 16

    INSERT INTO 的sql 在条件下分支到两个表?

  17. 17

    在多个条件下连接两个表 - SQL Server

  18. 18

    将两个不同表中的两列相乘后找到最大值-SQL

  19. 19

    通过SQL连接表检索两个相关表的最大值

  20. 20

    两个组合,jQuery选择插件仅在特定条件下工作

  21. 21

    两个组合,jQuery选择插件仅在特定条件下工作

  22. 22

    Oracle SQL 查询以获取记录的最大值,不包括值在两个范围内的记录(小于最大值和大于最大值)

  23. 23

    如何在两个条件下使用

  24. 24

    如何在满足特定条件的情况下找到范围内的最大值

  25. 25

    与表连接,但仅在特定条件下

  26. 26

    比较两个 MySQL 表之间的最大值

  27. 27

    在特定条件下如何在一个会话中存储值

  28. 28

    SAS:无法在特定条件下使用where或if条件。

  29. 29

    linq在特定条件下获得多个值

热门标签

归档