我有一个包含逗号分隔值'1,2,3'的变量
我的桌子如下
id favourite_id
1 2,5,6
2 3,5,7
3 6,1,3
4 5,6,7
Run Code Online (Sandbox Code Playgroud)
我想在favourite_id列中检查我的变量,以找到favourite_id中至少有一个值是常见的.所以我想输出mysql查询如下
id favourite_id
1 2,5,6
2 3,5,7
3 6,1,3
Run Code Online (Sandbox Code Playgroud)
我知道这不是规范化的表结构,但是我无法改变我的数据库结构.我已经google了很多但是找不到合适的解决方案.
使用mysql的REGEXP找到了两个解决方案
(1)
`favourite_id` REGEXP '[[:<:]]1[[:>:]]|[[:<:]]2[[:>:]]|[[:<:]]3[[:>:]]' //faster then below
Run Code Online (Sandbox Code Playgroud)
(2)
`favourite_id` REGEXP '(^|,)(1|2|3)(,|$)' //slower then above
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2985 次 |
| 最近记录: |