MySQL中GROUP_CONCAT的反义词是什么?我似乎很反对这个问题,我的数据格式如下:+----+----------------------+| id | colors |+----+----------------------+| 1 | Red,Green,Blue || 2 | Orangered,Periwinkle |+----+----------------------+但我希望它的格式如下:+----+------------+| id | colors |+----+------------+| 1 | Red || 1 | Green || 1 | Blue || 2 | Orangered || 2 | Periwinkle |+----+------------+有没有办法做到这一点?什么是这种操作甚至叫做?
3 回答

达令说
TA贡献1821条经验 获得超6个赞
你可以使用这样的查询:
SELECT id, SUBSTRING_INDEX(SUBSTRING_INDEX(colors, ',', n.digit+1), ',', -1) colorFROM 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.digitORDER BY id, n.digit
请看这里的小提琴。请注意,此查询每行最多支持4种颜色,您应该更新子查询以返回4个以上的数字(或者您应该使用包含10或100个数字的表)。
添加回答
举报
0/150
提交
取消