How to implement MAX(distinct…) in MySQL and what is the difference without using DISTINCT?



Let us see the first syntax, which uses DISTINCT in MAX() −

select max(DISTINCT yourColumnName) from yourTableName;

The second syntax is as follows. It isn’t using DISTINCT −

select max( yourColumnName) from yourTableName;

NOTE − Both the above queries give the same result with or without a DISTINCT keyword. MySQL internally converts MAX(yourColumnName) to DISTINCT keyword.

Let us now see an example and create a table −

mysql> create table DemoTable (    Number int ); Query OK, 0 rows affected (1.50 sec)

Insert some records in the table using insert command −

mysql> insert into DemoTable values(80); Query OK, 1 row affected (0.09 sec) mysql> insert into DemoTable values(88); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable values(78); Query OK, 1 row affected (0.10 sec) mysql> insert into DemoTable values(88); Query OK, 1 row affected (0.10 sec) mysql> insert into DemoTable values(68); Query OK, 1 row affected (0.09 sec) mysql> insert into DemoTable values(88); Query OK, 1 row affected (0.10 sec)

Display all records from the table using select statement −

mysql> select *from DemoTable;

This will produce the following output −

+--------+ | Number | +--------+ |     80 | |     88 | |     78 | |     88 | |     68 | |     88 | +--------+ 6 rows in set (0.00 sec)

CASE 1 − Following is the query to implement MAX(DISTINCT..) −

mysql> select max(DISTINCT Number) from DemoTable;

This will produce the following output −

+----------------------+ | max(DISTINCT Number) | +----------------------+ |                   88 | +----------------------+ 1 row in set (0.00 sec)

CASE 2 − Following is the query to implement MAX() without DISTINCT −

mysql> select max(Number) from DemoTable;

This will produce the following output −

+-------------+ | max(Number) | +-------------+ |          88 | +-------------+ 1 row in set (0.07 sec)

As you can see above, both of them give the same result.

Updated on: 2019-10-03T07:47:26+05:30

3K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements