如何从表中找到第二大值。

时间:2010-10-18 10:42:16

标签: sql-server-2005 tsql

员工表中包含EmpSalary的一个表。我需要找到公司支付的第二大薪水。?

如何从表中找到第二大值(薪水)。?

3 个答案:

答案 0 :(得分:7)

;WITH CTE AS ( SELECT ROW_NUMBER() OVER (ORDER BY SortColumn DESC) AS RowNumber, * 
               FROM YourTable)
SELECT * FROM CTE WHERE RowNumber = 2

答案 1 :(得分:3)

试试这个:这应该是第二大薪水:

SELECT MAX(EmpSalary)FROM employee WHERE EmpSalary< (SELECT MAX(EmpSalary)FROM employee);

答案 2 :(得分:-1)

从产品中选择top(1)prodMrp而不是prodMrp =(通过prodMrp DESC从产品订单中选择top(1)prodMrp)prodMrp DESC命令