首页 > 解决方案 > 按另一列排序的列的 SQL 平均值

问题描述

我有看起来像这样的数据

Country GDP  Unemployment 
USA     2.13 13.83
Canada  1.83 17.28
Mexico  1.28 26.28
...     ...  ...
...     ...  ...
...     ...  ...

我想写一个查询,它会给我按 GDP 排名的前十个国家的平均失业率。所以我想要的输出只是

AVG(unemployment)
# 

我很难获得 GDP 排名前十位的国家的平均失业率。我得到了所有国家的平均值,但我只想要前十名。

那我按GDP排序吗?一直在尝试这样的事情,但没有奏效。

select AVG(unemployment)
from data
order by GDP limit 10 desc;

标签: sql

解决方案


你需要一个子查询。使用您的问题建议的语法:

select AVG(unemployment)
from (select d.*
      from data d
      order by GDP desc
      limit 10
     ) d

推荐阅读