逆轉GROUP_CONCAT 的影響:分割串聯資料
在MySQL 中,GROUP_CONCAT 函數將特定欄位中的多個值組合為單一欄位中的多個值組合為單一欄位中的多個值組合為單一欄位中的多個值組合為單一欄位中的多個值組合為單一欄位中的多個值組合為單一欄位中的多個值組合為單一欄位中的多個值組合為單一欄位中的多個值組合為單一欄位中的多個值組合為單一欄位中的多個值組合為單一欄位中的多個值組合為單一欄位中的多個值組合為單一欄位中的多個值組合為單一欄位中的多個值組合為單一欄位中的多個值組合為單一欄位中的多個值組合為單一欄位中的多個值組合值,以逗號分隔的字串。但是,在某些情況下,您可能希望獲得相反的效果,即連接的字串被分解回其各個組成部分。
實現拆分的查詢
要實現此目的,請使用以下查詢:
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
了解詳細資訊
此函數計算字串的長度。在這裡,它用於確保數字值在顏色字串的長度範圍內。
範例資料和輸出
+----+----------------------+ | id | colors | +----+----------------------+ | 1 | Red,Green,Blue | | 2 | Orangered,Periwinkle | +----+----------------------+
用於範例資料提供:
+----+------------+ | id | colors | +----+------------+ | 1 | Red | | 1 | Green | | 1 | Blue | | 2 | Orangered | | 2 | Periwinkle | +----+------------+查詢的輸出將是:
以上是如何反轉MySQL的GROUP_CONCAT以分離串聯資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!