gpt4 book ai didi

mysql - MySQL 中 GROUP_CONCAT 的对立面是什么?

转载 作者:IT老高 更新时间:2023-10-28 23:45:14 26 4
gpt4 key购买 nike

我似乎经常遇到这个问题,我的数据格式如下:

+----+----------------------+
| id | colors |
+----+----------------------+
| 1 | Red,Green,Blue |
| 2 | Orangered,Periwinkle |
+----+----------------------+

但我希望它的格式如下:

+----+------------+
| id | colors |
+----+------------+
| 1 | Red |
| 1 | Green |
| 1 | Blue |
| 2 | Orangered |
| 2 | Periwinkle |
+----+------------+

有什么好办法吗?这种操作到底叫什么?

最佳答案

您可以使用这样的查询:

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

请看 fiddle here .请注意,此查询每行最多支持 4 种颜色,您应该更新子查询以返回 4 个以上的数字(或者您应该使用包含 10 或 100 个数字的表)。

关于mysql - MySQL 中 GROUP_CONCAT 的对立面是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17308669/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com