如何在SQLTable中找到第N行 [英] How To Find N'th Row in a SQLTable
本文介绍了如何在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屋!
查看全文