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

时间:2013-07-15 06:42:01

标签: sql-server-2008

我想从表中找到最高工资,而我的表员工包含以下数据

Id  Salary
1   5000
2   4000
3   1000
4   5000
5   2000
6   5000
7   5000

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

select max(Salary) from Employee
or
select max(distinct Salary) from Employee

请告诉我哪个查询更快更好,为什么?

1 个答案:

答案 0 :(得分:6)

没有DISTINCT。见MAX

  

DISTINCT对MAX没有意义,仅适用于ISO兼容性。

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