SQL Aggregate Max
SQL Aggregate Max is used to find the highest value of the column in a table
Understand with Example
The Tutorial illustrate an example from SQL Aggregate Max. In this Example we create a table Stu_Table. The create table statement create a table 'Stu_Table'.
Create Table Stu_Table
create table Stu_Table(Stu_Id varchar(2), Stu_Name varchar(15), Stu_Class varchar(10),sub_id varchar(2),marks varchar(3)); |
Insert Data into Stu_Table
The Insert into statement add the records or rows to the table 'Stu_Table'.
insert into Stu_Table values(1,'Komal',10,1,45); insert into Stu_Table values(2,'Ajay',10,1,56); insert into Stu_Table values(3,'Rakesh',10,1,67); insert into Stu_Table values(1,'Komal',10,2,47); insert into Stu_Table values(2,'Ajay',10,2,53); insert into Stu_Table values(3,'Rakesh',10,2,57); insert into Stu_Table values(1,'Komal',10,3,45); insert into Stu_Table values(2,'Ajay',10,3,56); insert into Stu_Table values(3,'Rakesh',10,3,67); insert into Stu_Table values(1,'Komal',10,4,65); insert into Stu_Table values(2,'Ajay',10,4,56); insert into Stu_Table values(3,'Rakesh',10,4,37); insert into Stu_Table values(1,'Komal',10,5,65); insert into Stu_Table values(2,'Ajay',10,5,46); insert into Stu_Table values(3,'Rakesh',10,5,63); |
Stu_Table
+--------+----------+-----------+--------+-------+ | Stu_Id | Stu_Name | Stu_Class | sub_id | marks | +--------+----------+-----------+--------+-------+ | 1 | Komal | 10 | 1 | 45 | | 2 | Ajay | 10 | 1 | 56 | | 3 | Rakesh | 10 | 1 | 67 | | 1 | Komal | 10 | 2 | 47 | | 2 | Ajay | 10 | 2 | 53 | | 3 | Rakesh | 10 | 2 | 57 | | 1 | Komal | 10 | 3 | 45 | | 2 | Ajay | 10 | 3 | 56 | | 3 | Rakesh | 10 | 3 | 67 | | 1 | Komal | 10 | 4 | 65 | | 2 | Ajay | 10 | 4 | 56 | | 3 | Rakesh | 10 | 4 | 37 | | 1 | Komal | 10 | 5 | 65 | | 2 | Ajay | 10 | 5 | 46 | | 3 | Rakesh | 10 | 5 | 63 | +--------+----------+-----------+--------+-------+ |
Query
The Query below returns you the records from select statement. The GROUPCONCAT is used to combine the result value of field. The max(marks) compute the maximum value of the field 'marks'.
select stu_id, stu_name, GROUP_CONCAT(marks) as marks , max(marks) from stu_table group by stu_id |
Result
+--------+----------+----------------+------------+ | stu_id | stu_name | marks | max(marks) | +--------+----------+----------------+------------+ | 1 | Komal | 45,65,47,65,45 | 65 | | 2 | Ajay | 46,56,56,53,56 | 56 | | 3 | Rakesh | 67,57,37,67,63 | 67 | +--------+----------+----------------+------------+ |