如何在不使用top关键字且不使用子查询的情况下打印排名第五的受薪员工详细信息? [英] How to Print Top 5th salaried employee details without using top keyword and without using subqueries?

查看:73
本文介绍了如何在不使用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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆