【问题标题】:Select max entries in a range in SQL server在 SQL Server 中选择一个范围内的最大条目
【发布时间】:2022-01-03 07:08:47
【问题描述】:

我有一个薪水列,我必须在 10000 到 20000 的范围内进行选择,并且还要选择最高薪水的顶行。

我的专栏:

25000
17000
17000
15000
14000
9000

我要选择的行

17000
17000
17000

我可以使用前 n 行,但这将应用于此列。我想要做的是,假设如果该列有 2 行具有最高薪水,它将选择 2,但如果另一列有 5 行具有如下所示的最高薪水,那么它应该选择 5。 我的专栏:

24000
17000
17000
17000
17000
17000
15000
14000
9000

我要选择的行:

17000
17000
17000
17000
17000

我的sql语句:

select max(salary)
from table
where salary between 10000 and 20000
order by salary desc;

此语句仅返回 1 行。

【问题讨论】:

    标签: sql sql-server range max


    【解决方案1】:

    您可以在这里使用TOP 1 WITH TIES

    SELECT TOP 1 WITH TIES salary
    FROM yourTable
    WHERE salary BETWEEN 10000 AND 20000
    ORDER BY salary DESC;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-24
      • 1970-01-01
      • 1970-01-01
      • 2015-01-11
      • 1970-01-01
      • 2011-09-21
      • 1970-01-01
      相关资源
      最近更新 更多