首页 > 解决方案 > SQL 查询 - 没有从 Like 语句中得到正确的结果

问题描述

表名: 学生:

id    name     topics
---   ----     --------
1     Test1    1,2,10,15,25
2     Test2    5,21,11,18,13
3     Test3    2,1,16,25,10
4     Test4    2

我的查询:

select * from student where topics like '%2%'

输出:所有 4 条记录。预期:但我只需要获得 3 条记录,因为 id 1,3,4 主题列包含 2。第二条记录不包含 2 。

标签: mysqlsql

解决方案


您可以使用函数 FIND_IN_SET :

select * from student where FIND_IN_SET ('2', topics)

推荐阅读