MySQL-SQL 里如何查找sort=43的,值可能为个数组,如1,2,43,343,423,12也有可能是单个43

WordPress 开发 WordPress 开发 主题:1098 回复:2322

MySQL-SQL 里如何查找sort=43的,值可能为个数组,如1,2,43,343,423,12也有可能是单个43

虐人心 发布于 2017-08-25 字数 369 浏览 1116 回复 2

我的数据库表里有个类别叫sort,里面的值我存的是这样的
id sort
1 1,3,23,56,125,67
2 6,43,76,102,98
3 43
4 90,98
5 76
当我点击到?sort=43这个链接的时候,我要查询出相对应的记录,
也就是返回id是2和3的记录
如何写SQL,可以写连贯操作,也可以写SQL,MSSQL和MYSQL都没关系。

麻烦各位了。

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(2

泛泛之交 2017-10-26 2 楼

通过mysql的正则表达式实现
SELECT * FROM sort WHERE sort REGEXP '[[:<:]]43[[:>:]]'.
mysql正则表达式参见mysql正则表达式及应用

归属感 2017-09-11 1 楼

建议你把sort属性的值的两端各加一个‘,’,例如“3 43”就变成了“3 ,43,”,然后select * from tablename where sort like '%,43,%'就可以了。