Hive 检索配置单元中的第三个最大薪资

Hive 检索配置单元中的第三个最大薪资,hive,hiveql,Hive,Hiveql,我是个新手。我有下面的Employee表 ID Name Country Salary ManagerID 我使用以下命令获取了第三个最高工资 select name , salary From ( select name, salary from employee sort by salary desc limit 3) result sort by salary limit 1; 如何同样显示每个国家的第三最高工资?我们可以使用OVER(按国家划分)吗?

我是个新手。我有下面的Employee表

ID  Name  Country  Salary  ManagerID
我使用以下命令获取了第三个最高工资

select name , salary From (
    select name, salary from 
    employee sort by salary desc limit 3)
    result sort by salary limit 1;

如何同样显示每个国家的第三最高工资?我们可以使用OVER(
按国家划分
)吗?我试着在语言手动窗口和分析中寻找,但我发现很难理解。请帮忙

使用窗口功能,您肯定走对了方向
row_number()
是一个很好的函数

select name, salary
from (
  select name
    , salary
    , row_number() over (partition by country order by salary desc) idx
  from employee ) x
where idx = 3

按薪资排序时,请确保它是数字类型,否则将无法正确排序。

谢谢,伙计!谢谢!:)