如何在SQLTable中找到第N行 [英] How To Find N'th Row in a SQLTable

查看:89
本文介绍了如何在SQLTable中找到第N行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这样的返回查询。



I Have Return Query Like This.

SELECT TOP 1 salary
FROM (
SELECT DISTINCT TOP n salary
FROM employee
ORDER BY salary DESC) a
ORDER BY salary



但它显示错误



错误:'n'附近的语法不正确。



帮帮我...在此先感谢


But It Shows An Error

Error: Incorrect syntax near 'n'.

Help Me...Thanks In Advance

推荐答案

假设你想要找到第五高的薪水,试试这个:

Say you want to find the 5th highest salary, try this:
SELECT salary
FROM employee e1
WHERE (5)=(
SELECT COUNT(DISTINCT(e2.salary))
FROM employee e2
WHERE e2.salary >= e1.salary
) 

试试这个:

Try this:
SELECT Salary
FROM (
    SELECT Salary, ROW_NUMBER() OVER(ORDER BY Salary DESC) AS RowNo
    FROM employee
) AS T
WHERE T.RowNo=@n



其中 @n 是第n个工资



有关详细信息,请参阅:排名函数(SQL) [ ^ ]


where @n is n'th salary

For further information, please see: RANKING FUNCTIONS (SQL)[^]


这篇关于如何在SQLTable中找到第N行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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