Select SQL 服务器范围内的最大条目数
Select max entries in a range in SQL server
我有一个薪水列,我必须在其中 select 介于 10000 和 20000 之间的范围以及最高薪水的前几行。
我有的栏目:
25000
17000
17000
15000
14000
9000
我想要的行 select
17000
17000
17000
我可以使用前 n 行,但这将应用于此列。我想做的是,如果这一列有 2 行有最高工资,它会 select 2,但如果另一列有 5 行有最高工资,如下所示,那么它应该 select 5.
我的专栏:
24000
17000
17000
17000
17000
17000
15000
14000
9000
我想要的行 select:
17000
17000
17000
17000
17000
我的sql声明:
select max(salary)
from table
where salary between 10000 and 20000
order by salary desc;
此语句仅returns 1行。
您可以在此处使用 TOP 1 WITH TIES
:
SELECT TOP 1 WITH TIES salary
FROM yourTable
WHERE salary BETWEEN 10000 AND 20000
ORDER BY salary DESC;
我有一个薪水列,我必须在其中 select 介于 10000 和 20000 之间的范围以及最高薪水的前几行。
我有的栏目:
25000
17000
17000
15000
14000
9000
我想要的行 select
17000
17000
17000
我可以使用前 n 行,但这将应用于此列。我想做的是,如果这一列有 2 行有最高工资,它会 select 2,但如果另一列有 5 行有最高工资,如下所示,那么它应该 select 5. 我的专栏:
24000
17000
17000
17000
17000
17000
15000
14000
9000
我想要的行 select:
17000
17000
17000
17000
17000
我的sql声明:
select max(salary)
from table
where salary between 10000 and 20000
order by salary desc;
此语句仅returns 1行。
您可以在此处使用 TOP 1 WITH TIES
:
SELECT TOP 1 WITH TIES salary
FROM yourTable
WHERE salary BETWEEN 10000 AND 20000
ORDER BY salary DESC;