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 | +--------+----------+----------------+ |
If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.
Ask your questions, our development team will try to give answers to your questions.
Ask Questions? Discuss: SQL Aggregate Concatenate
Post your Comment