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
提交
取消