SQL Aggregate Concatenate

SQL Aggregate Concatenate provides you a concatenated record of the field based on the conditional operator WHERE clause.

SQL Aggregate Concatenate

SQL Aggregate Concatenate

     

 

SQL Aggregate Concatenate provides you a concatenated record of the  field based on the conditional operator WHERE clause.

 Understand with Example

The Tutorial illustrate an example from SQL Aggregate Concatenate. To grasp this example, we create a table 'Stu_Table' using create table statement. 

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 return you a records and concatenated values from the field 'marks' from table 'Stu_table'. The group by return the group records from a table 'Stu_Table'.

select stu_id,stu_name,GROUP_CONCAT(marks) 
as marks from stu_table group by stu_id;

Result

+--------+----------+----------------+
| stu_id | stu_name | marks          |
+--------+----------+----------------+
| 1      | Komal    | 45,65,47,65,45 |
| 2      | Ajay     | 46,56,56,53,56 |
| 3      | Rakesh   | 67,57,37,67,63 |
+--------+----------+----------------+