答案 0 :(得分:0)
试试这个:
SELECT * FROM `TABLE_NAME` WHERE `Topic` LIKE "%13%";
答案 1 :(得分:0)
将它保存在多对多关系的第三个表中会更好更快。
如果您想按照示例(单个表格)进行保存,请尝试将数据保存为例如",10,13,15,"
之前和之后总是有昏迷,因此下面的sql将排除213和132等
select * from table_name where Topic like '%,13,%'
答案 2 :(得分:-1)
select * from table where find_in_set("13",topic);
或者如果主题未用作集合,您可以执行...
select * from table where concat(",",topic) like "%,13,%";
第二个并不是真正的优雅,但我必须这样做几次。
因为数据没有真正规范化,所以我使用concat在主题字段中添加一个逗号,这样我就可以确保“like”比较在值之前和之后用逗号传递。我想我们也必须删除任何不需要的空格,因此最终它最终会像:
select * from TABLE where concat(",",replace(topic," ","")) like "%,13,%";
最终,我们必须知道在主题列中会发生什么,才能提出始终有效的查询。在过去,我有过这样的情况,我会在每个值之前和之后使用分隔符向字符串字段(即主题)添加值,如:
(1)(2)(3)(14)(15)(255)(283)
如果您为主题字段执行了类似的操作,则查询很简单......
select * from table where topic like "%(13)%";