哪种方法更适合在sql server中查找最大值?

Ban*_*ana 0 sql-server-2008

我想从表和我的表中找到最高工资Employee包含以下数据

Id  Salary
1   5000
2   4000
3   1000
4   5000
5   2000
6   5000
7   5000
Run Code Online (Sandbox Code Playgroud)

在这里我可以使用两种方法来获得最高工资,但我不知道哪种方法更好,有

select max(Salary) from Employee
or
select max(distinct Salary) from Employee
Run Code Online (Sandbox Code Playgroud)

请让我知道哪个查询更快更好,为什么?

Dam*_*ver 6

没有DISTINCT.见MAX:

DISTINCT对MAX无意义,仅适用于ISO兼容性.

如果你考虑一下,DISTINCT在这种情况下实际上意味着什么?您正在选择一个值 - 无论您在查看最大值的行组中看到该值一次还是20次,这有什么关系?