SQL Server MAX():获取列中的最大值
在 SQL Server 中,MAX()
函数是一个聚合函数,它返回列或表达式中的最大值。
它是一个聚合函数,因此可以与 GROUP BY 子句一起使用,以查找组中的最大值。
MAX(expression)
参数
表达式:它可以是常量、表列或函数,以及算术或字符串运算符的任意组合。
MAX 可以与数字、字符、uniqueidentifier 或日期时间数据一起使用。
返回值
返回相同数据类型组中的最大值。它忽略 NULL 值。
获取列中的最大值
以下查询从 Employee
表中获取最大的 Salary
。
示例:MAX()
SELECT MAX(Salary) AS MaxSal FROM Employee;

要检查上述结果,请使用以下查询按 Salary
升序从 Employee
表中获取所有记录。
SELECT * FROM Employee ORDER BY Salary;

如您所见,Employee
中的最大 Salary
为 200000。
MAX() 与字符串列
MAX()
函数可以用于字符串列。例如,以下在 Employee
表的 LastName
列上使用 MAX()
函数。它将按字母顺序排序该列,并返回最后一个值。
示例:MAX()
SELECT MAX(LastName) FROM Employee;

上面,'Troy'
按字母顺序是最后一个值,因此它将被返回。
MAX() 与 GROUP BY 子句
在以下示例中,通过使用 GROUP BY 子句返回每个部门的最高薪水。这里 GROUP BY 子句根据部门对员工进行分组,然后返回每个组中的最高薪水。
示例:MAX() 与 Group By
SELECT DepartmentId, MAX(Salary) AS DeptMaxSalary
FROM Employee
GROUP BY DepartmentId;

MAX() 与 HAVING 子句
MAX()
函数可以与 HAVING 子句一起使用,如下例所示。这里 GROUP BY 子句根据部门对员工进行分组,获取每个部门的最高薪水,然后 HAVING 子句通过只返回那些最高薪水大于 50000 的部门来过滤结果。
示例:MAX() 与 Having 子句
SELECT DepartmentId, Max(Salary) DeptMaxSal FROM Employee
GROUP BY DepartmentID
HAVING MAX (Salary) > 50000;

获取最大值和最小值
在以下示例中,MIN() 和 MAX() 函数用于 Employee
表的 Salary
列。返回表中的最低和最高薪水。
示例:MIN() 和 MAX()
SELECT MIN(Salary) AS MinSal, MAX(Salary) AS MaxSal FROM Employee;
