The homepage of Chris Tate-Davies
Posts tagged group_concat
MySQL Group Concat
Mar 18th
What is MySQL’s GROUP_CONCAT function for?
How often have you wanted a comma separated list of values in a table of results. Say you had a list of trainers in makes, and sizes? And you want to display this list as a grid:
Make, Size
Adidas : 6, 7, 8, 10
Nike: 7, 8
Puma: 5, 7, 10, 12
Now, if these records are in one table, how are you going to get the sizes for each trainer?
You could loop through each group of trainers, and output a string, size by size. Or, you could use the GROUP_CONCAT function in MySQL, which will give you a list of the sizes as one field, even though they are multiple records.
SELECT make,
GROUP_CONCAT(DISTINCT size ORDER BY size ASC SEPARATOR \", \" ) AS trainer_size
FROM trainers GROUP BY make ASC;
Then all you need is to loop through the 3 records, of each will contain 2 fields: make and trainer_size. Its a lot easier than writing code to loop through the DISTINCT makes and get the available sizes.