sql >> Base de Datos >  >> RDS >> Mysql

¿Qué es lo contrario de GROUP_CONCAT en MySQL?

Podría utilizar una consulta como esta:

SELECT
  id,
  SUBSTRING_INDEX(SUBSTRING_INDEX(colors, ',', n.digit+1), ',', -1) color
FROM
  colors
  INNER JOIN
  (SELECT 0 digit UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3) n
  ON LENGTH(REPLACE(colors, ',' , '')) <= LENGTH(colors)-n.digit
ORDER BY
  id,
  n.digit

Consulte fiddle aquí . Tenga en cuenta que esta consulta admitirá hasta 4 colores para cada fila, debe actualizar su subconsulta para obtener más de 4 números (o debe usar una tabla que contenga 10 o 100 números).