mysql IN用两个params逗号分隔

时间:2016-05-09 14:53:52

标签: mysql

我的数据库中有一行包含逗号分隔ID的字段“group”,我需要找到至少有一个逗号分隔值的id。

示例,我的数据库中的行:

ID | Groups

1  | 2,3
2  | 3
3  | 4

我需要找到至少包含其中一个组的行:5,3(或者3个没有逗号)。因此,例如在这种情况下ID 1和2.相同的结果将是“3”作为要查找的组。

所以,如果没有爆炸5,3并且做一个foreach,有没有办法使用MySQL?

1 个答案:

答案 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。