GROUP_CONCAT() - Concatenating Items in Group

Q

How to concatenate items of a field expression in result set groups using the GROUP_CONCAT() function?

✍: FYIcenter.com

A

GROUP_CONCAT(expr) is a MySQL built-in aggregate function that concatenates items of a field expression in result set groups. For example:

SELECT help_category_id, LEFT(GROUP_CONCAT(help_topic_id), 32)
  FROM mysql.help_topic GROUP BY help_category_id;
  -- +------------------+---------------------------------------+
  -- | help_category_id | LEFT(GROUP_CONCAT(help_topic_id), 32) |
  -- +------------------+---------------------------------------+
  -- |                1 | 0,1                                   |
  -- |                2 | 2,6,7,8,9,10,11,12,13,14,15,16,1...   |
  -- |                3 | 3,618,619,620,621,622,623,624,62...   |
  -- |                4 | 4,5                                   |
  -- |                5 | 40,43,44                              |
  -- ...
  -- +------------------+---------------------------------------+

Reference information of the GROUP_CONCAT() function:

GROUP_CONCAT(DISTINCT expr ORDER BY order_list SEPARATOR delimiter): str
  Returns a string result with the concatenated non-NULL values from a group.
  It returns NULL if there are no non-NULL values.

Arguments, return value and availability:
  expr: Required. The field expression in result set groups.
  DISTINCT: Optional. If provided, only distinct values of expr are used.
  ORDER BY order_list: Optional. If provided, items are sorted.
  SEPARATOR delimiter: Optional. Default is SEPARATOR ','.
  str: Return value. The concatenated string.
  Available since MySQL 5.7.

 

GROUPING() - Identifying Super-Aggregate Row

COUNT() - Counting Items in Group

MySQL Functions on Aggregation Groups

⇑⇑ MySQL Function References

2023-11-18, 266🔥, 0💬