MySQL中GROUP_CONCAT的反义词是什么?

MySQL中GROUP_CONCAT的反义词是什么?

我似乎很反对这个问题,我的数据格式如下:


+----+----------------------+

| id | colors               |

+----+----------------------+

| 1  | Red,Green,Blue       |

| 2  | Orangered,Periwinkle |

+----+----------------------+

但我希望它的格式如下:


+----+------------+

| id | colors     |

+----+------------+

| 1  | Red        |

| 1  | Green      |

| 1  | Blue       |

| 2  | Orangered  |

| 2  | Periwinkle |

+----+------------+

有没有办法做到这一点?什么是这种操作甚至叫做?


慕神8447489
浏览 914回答 3
3回答

达令说

你可以使用这样的查询:SELECT &nbsp;&nbsp;id, &nbsp;&nbsp;SUBSTRING_INDEX(SUBSTRING_INDEX(colors,&nbsp;',',&nbsp;n.digit+1),&nbsp;',',&nbsp;-1)&nbsp;colorFROM &nbsp;&nbsp;colors&nbsp;&nbsp;INNER&nbsp;JOIN &nbsp;&nbsp;(SELECT&nbsp;0&nbsp;digit&nbsp;UNION&nbsp;ALL&nbsp;SELECT&nbsp;1&nbsp;UNION&nbsp;ALL&nbsp;SELECT&nbsp;2&nbsp;UNION&nbsp;ALL&nbsp;SELECT&nbsp;3)&nbsp;n&nbsp;&nbsp;ON&nbsp;LENGTH(REPLACE(colors,&nbsp;','&nbsp;,&nbsp;''))&nbsp;<=&nbsp;LENGTH(colors)-n.digitORDER&nbsp;BY &nbsp;&nbsp;id, &nbsp;&nbsp;n.digit请看这里的小提琴。请注意,此查询每行最多支持4种颜色,您应该更新子查询以返回4个以上的数字(或者您应该使用包含10或100个数字的表)。

收到一只叮咚

如果分隔符是数据的一部分但是由双引号嵌入,那么我们如何拆分它。例如,第二个,第二个,第二个它应该是第一秒,第三
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

MySQL