Syntax\n------\n\nGROUP_CONCAT(expr)\n\nDescription\n-----------\n\nThis function returns a string result with the concatenated non-NULL values from a group. If any expr in GROUP_CONCAT evaluates to NULL, that tuple is not present in the list returned by GROUP_CONCAT.\n\nIt returns NULL if all arguments are NULL, or there are no matching rows.\n\nThe maximum returned length in bytes is determined by the group_concat_max_len server system variable, which defaults to 1M.\n\nIf group_concat_max_len <= 512, the return type is VARBINARY or VARCHAR; otherwise, the return type is BLOB or TEXT. The choice between binary or non-binary types depends from the input.\n\nThe full syntax is as follows:\n\n``sql\nGROUP_CONCAT([DISTINCT] expr [,expr ...]\n             [ORDER BY {unsigned_integer | col_name | expr}\n                 [ASC | DESC] [,col_name ...]]\n             [SEPARATOR str_val]\n             [LIMIT {[offset,] row_count | row_count OFFSET offset}])\n`\n\nDISTINCT eliminates duplicate values from the output string.\n\nORDER BY determines the order of returned values.\n\nSEPARATOR specifies a separator between the values. The default separator is a comma (,). It is possible to avoid using a separator by specifying an empty string.\n\nLIMIT\n\nThe LIMIT clause can be used with GROUP_CONCAT`.\n\nExamples\n--------\n\nSELECT student_name,\n       GROUP_CONCAT(test_score)\n       FROM student\n       GROUP BY student_name;\n\nURL: https://mariadb.com/docs/server/reference/sql-functions/aggregate-functions/group_concat