如何在不使用top关键字且不使用子查询的情况下打印排名第五的受薪员工详细信息? [英] How to Print Top 5th salaried employee details without using top keyword and without using subqueries?
本文介绍了如何在不使用top关键字且不使用子查询的情况下打印排名第五的受薪员工详细信息?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何在不使用top关键字且不使用子查询的情况下打印排名第五的受薪员工详细信息?
解决方案
您可以使用排名功能
使用 empinfo
As
(
选择 empName,Salary,Row_Number() Over ( order by salary desc ) as RowID
from empinfotable
)
选择 * 来自 empinfo 其中 RowID = 5
你也可以尝试这个
SELECT empname,salary FROM 员工 ORDER BY salary DESC OFFSET 4 ROWS FETCH NEXT 1 仅限ROWS;
适用于SQL Server 2012及以上版本
查看此链接更多细节
OFFSET FETCH条款
试试..
选择 * 来自
(
select ROW_NUMBER() over ( order by salary desc ) as row1,
empName,Salary
来自
empinfotable
)[MyCats]
其中 row1 = 5
How to Print Top 5th salaried employee details without using top keyword and without using subqueries?
解决方案
You can use ranking function
With empinfo As ( select empName,Salary,Row_Number() Over ( order by salary desc ) as RowID from empinfotable ) select * from empinfo where RowID=5
you can try this also
SELECT empname,salary FROM Employees ORDER BY salary DESC OFFSET 4 ROWS FETCH NEXT 1 ROWS ONLY;
which works in SQL server 2012 and above
check this link for more detail
OFFSET FETCH Clause
try..
select * from ( select ROW_NUMBER() over(order by salary desc) as row1, empName,Salary from empinfotable )[MyCats] where row1=5
这篇关于如何在不使用top关键字且不使用子查询的情况下打印排名第五的受薪员工详细信息?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文