让我们看看第一种语法,它在MAX()
-中使用DISTINCT :
select max(DISTINCT yourColumnName) from yourTableName;
第二种语法如下。它没有使用DISTINCT-
select max( yourColumnName) from yourTableName;
注–上面的两个查询在使用或不使用DISTINCT关键字时都给出相同的结果。MySQL内部将MAX(yourColumnName)转换为DISTINCT关键字。
现在让我们看一个示例并创建一个表-
mysql> create table DemoTable ( Number int );
使用插入命令在表中插入一些记录-
mysql> insert into DemoTable values(80); mysql> insert into DemoTable values(88); mysql> insert into DemoTable values(78); mysql> insert into DemoTable values(88); mysql> insert into DemoTable values(68); mysql> insert into DemoTable values(88);
使用select语句显示表中的所有记录-
mysql> select *from DemoTable;
这将产生以下输出-
+--------+ | Number | +--------+ | 80 | | 88 | | 78 | | 88 | | 68 | | 88 | +--------+ 6 rows in set (0.00 sec)
情况1-以下是实现MAX(DISTINCT ..)的查询-
mysql> select max(DISTINCT Number) from DemoTable;
这将产生以下输出-
+----------------------+ | max(DISTINCT Number) | +----------------------+ | 88 | +----------------------+ 1 row in set (0.00 sec)
案例2-以下是MAX()
无需DISTINCT实现的查询-
mysql> select max(Number) from DemoTable;
这将产生以下输出-
+-------------+ | max(Number) | +-------------+ | 88 | +-------------+ 1 row in set (0.07 sec)
如您在上面所看到的,它们两个都给出相同的结果。