gpt4 book ai didi

sql - 使用 rank 选择 Oracle SQL 中的前 10 个元组

转载 作者:行者123 更新时间:2023-12-04 16:20:43 24 4
gpt4 key购买 nike

我有关系讲师(ID,姓名,部门名称,工资)。

我们作业中的问题要求我们:使用 SQL 中的排名函数编写一个查询,以找出收入最高的前 10 名教师的 ID 和姓名。

我可以通过使用 select id, name, rank() over(order by(salary) desc) as sal
from instructor order by sal
对讲师进行排名

我要捕获前 10 名导师的下一步是什么?谢谢。

最佳答案

您的 solution接近答案,但通常最好使用 RANK() 函数给出的值:

select id
, name
, sal
from (
select id
, name
, sal
, rank() over(order by(salary) desc) as sal_rank
from instructor
)
where sal_rank <=10
/

rownum 的问题在于它任意截断了结果集。如果我们获得并列第十名,那么了解这一事实通常很重要。使用 ROWNUM 会返回单个随机记录。

有时 ROWNUM - 或分析 ROW_NUMBER() - 将是正确的。这取决于具体的业务需求。

关于sql - 使用 rank 选择 Oracle SQL 中的前 10 个元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2335924/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com