我几乎是mysql的新手。
我想编写一个查询,在关键字以逗号分隔的列中搜索特定的关键字。但是,当我使用下面的代码时,它只返回只有特定关键字的行,而不是与任何其他关键字组合。
在表q16中,我正在寻找一种方法来选择在“关注的区域”列中有我的关键字的行,不管它是否与其他关键字组合:
SELECT *
FROM `q16`
WHERE area_of_concern like '%more education is needed%'
下面是一个输入示例:
问题16:关注领域
1 more education is needed
2 more enforcement, change in strategy
3 change in strategy
4 more education is needed, change in strategy
5 transportation issue, more enforcement, more education is needed
在这里,我希望得到关键字为“需要更多的教育”的行。所以我应该在输出中看到第1,4,5行
1条答案
按热度按时间mwngjboj1#
我认为您应该创建一个表,其中一列用于关键字,另一列用于关键字的使用位置:在您的示例中,q16表的外键。
那样的话工作会快得多。
至于你的问题,我想这是这个问题的重复。
如何搜索包含子字符串的行?
快速尝试:尝试使用双引号而不是单引号,因为在某些系统中,单引号不允许在其中转义(特殊字符)。