SQL MAX()函数

SQL MAX()函数

SQL MAX()函数返回特定列中字段的最大值。如果指定的行不存在,则该函数返回NULL。

如果使用DISTINCT关键字,则该函数返回给定列的唯一值的最大值。

通常而言,聚合是考虑作为单个实体绑定在一起的对象集合。SQL提供了一组聚合函数,这些函数将对表的列的所有实体进行操作,将它们视为单个单元。

语法

以下是SQL MAX()函数的语法:

MAX(expr)

参数

  • expr - 是一个表达式,从中获取最大值。

示例

假设我们已经创建了一个名为CUSTOMERS的表,如下所示 –

create table CUSTOMERS(ID INT NOT NULL, 
NAME VARCHAR(20) NOT NULL, 
AGE INT NOT NULL, 
ADDRESS CHAR(25), 
SALARY DECIMAL(18, 2), 
PRIMARY KEY(ID));

让我们向其中插入值 –

insert INTO CUSTOMERS VALUES(1, 'Ramesh', 32, 'Ahmedabad', 2000.00);
insert INTO CUSTOMERS VALUES(2, 'Khilan', 25, 'Delhi', 1500.00);
insert INTO CUSTOMERS VALUES(3, 'kaushik', 23, 'Kota', 2000.00);
insert INTO CUSTOMERS VALUES(4, 'Chaitali', 25, 'Mumbai', 6500.00);
insert INTO CUSTOMERS VALUES(5, 'Hardik', 27, 'Bhopal', 8500.00);
insert INTO CUSTOMERS VALUES(6, 'Komal', 22, 'MP', 4500.00);
insert INTO CUSTOMERS VALUES(7, 'Muffy', 24, 'Indore', 10000.00);

该表将被创建为 −

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  2 | Khilan   |  25 | Delhi     |  1500.00 |
|  3 | Kaushik  |  23 | Kota      |  2000.00 |
|  4 | Chaitali |  25 | Mumbai    |  6500.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
|  6 | Komal    |  22 | MP        |  4500.00 |
|  7 | Muffy    |  24 | Indore    | 10000.00 |
+----+----------+-----+-----------+----------+

以下查询计算所有客户中的最高工资:

SELECT MAX(SALARY) AS max_salary from CUSTOMERS

输出

+------------+
| max_salary |
+------------+
| 10000.00   |
+------------+

示例

现在,假设根据上述表格,我们想要获取客户的最大年龄,那么我们可以简单地使用以下查询来实现 –

SELECT MAX(AGE) AS max_age from CUSTOMERS

输出

+---------+
| max_age |
+---------+
| 32      |
+---------+

我们可以使用 GROUP BY 子句来找出每个名字最大年龄的所有记录,如下所示 –

SELECT id, NAME, MAX(AGE) AS max_age from CUSTOMERS GROUP BY NAME, id

输出

+----+----------+---------+
| id | NAME     | max_age |
+----+----------+---------+
|  1 | Ramesh   |      32 |
|  2 | Khilan   |      25 |
|  3 | kaushik  |      23 |
|  4 | Chaitali |      25 |
|  5 | Hardik   |      27 |
|  6 | Komal    |      22 |
|  7 | Muffy    |      24 |
+----+----------+---------+

示例

以下查询根据字典顺序打印名称的最大值 –

SELECT MAX(NAME) AS max_name 
from CUSTOMERS

以下是上述代码的输出−

+----------+
| max_name |
+----------+
| Ramesh   |
+----------+

示例

在这里,我们尝试根据字典顺序打印地址的最大值 –

SELECT MAX(ADDRESS) as max_address
from CUSTOMERS

以上代码的输出如下:

+-------------+
| max_address |
+-------------+
| Mumbai      |
+-------------+

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程