I want all the distinct courier codes for that particular month,state and city in column with ',' as separator. I tried group_concat() but the codes are repeating.
Sample table
| Month | City | State | Pincode | Courier | Total_orders | 
|---|---|---|---|---|---|
| 1 | City1 | State1 | 110021 | DTDC | 20000 | 
| 1 | City1 | State1 | 110021 | GA | 30000 | 
| 2 | City1 | State1 | 110021 | DTDC | 10000 | 
| 1 | City2 | State2 | 110029 | DTDC | 25000 | 
| 1 | City2 | State2 | 110029 | DTDC | 20000 | 
| 1 | City2 | State2 | 110029 | DTDC | 15000 | 
select distinct Pincode, Month, City, State, 
sum(Total_orders) as Total_orders, 
group_concat(Courier) as CourierType
from table1
group by Pincode, Month
Output:
| Month | City | State | Pincode | CourierType | Total_orders | 
|---|---|---|---|---|---|
| 1 | City1 | State1 | 110021 | DTDC,GA | 50000 | 
| 2 | City1 | State1 | 110021 | DTDC | 10000 | 
| 1 | City2 | State2 | 110029 | DTDC,DTDC,DTDC | 60000 | 
But is there any way I can get only distinct codes instead of 'DTDC,DTDC,DTDC'? For a huge data set,this column with repetitive courier types is getting messy.
Desired output:
| Month | City | State | Pincode | CourierType | Total_orders | 
|---|---|---|---|---|---|
| 1 | City1 | State1 | 110021 | DTDC,GA | 50000 | 
| 2 | City1 | State1 | 110021 | DTDC | 10000 | 
| 1 | City2 | State2 | 110029 | DTDC | 60000 | 
 
    