我的数据库中有一行包含逗号分隔ID的字段“group”,我需要找到至少有一个逗号分隔值的id。
示例,我的数据库中的行:
ID | Groups
1 | 2,3
2 | 3
3 | 4
我需要找到至少包含其中一个组的行:5,3(或者3个没有逗号)。因此,例如在这种情况下ID 1和2.相同的结果将是“3”作为要查找的组。
所以,如果没有爆炸5,3并且做一个foreach,有没有办法使用MySQL?
答案 0 :(得分:0)
在MySQL中拆分未定义数量的逗号分隔值似乎无法实现。
如果你知道有f。恩。最多3项,例如" item1,item2,item3"你可以做到以下几点:
SELECT
SUBSTRING_INDEX(Groups, ',', 1) AS group1,
SUBSTRING_INDEX(SUBSTRING_INDEX(Groups, ',', 2), ',', -1) AS group2,
SUBSTRING_INDEX(SUBSTRING_INDEX(Groups, ',', 3), ',', -1) AS group3
FROM tablename;
但那意味着你知道你有多少物品。
我认为并且会推荐使用您选择的语言将其拆分为最简单/最快捷的方式。即PHP。