MySQL: Column Contains Word From List of Words(MySQL:列包含单词列表中的单词)
本文介绍了MySQL:列包含单词列表中的单词的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个单词列表。让我们假设它们是‘Apple’、‘Orange’和‘Pear’。我在数据库中有这样的行:
------------------------------------------------
|author_id | content |
------------------------------------------------
| 54 | I ate an apple for breakfast. |
| 63 | Going to the store. |
| 12 | Should I wear the orange shirt? |
------------------------------------------------
我正在查找InnoDB表上的查询,该查询将返回第一行和第三行,因为content
列包含列表中的一个或多个单词。我知道我可以为我列表中的每个单词查询一次表,并使用LIKE和%通配符,但我想知道是否有针对这种情况的单一查询方法?
推荐答案
编辑:
类似以下内容:
SELECT * FROM yourtable WHERE content LIKE '%apple%' OR content LIKE '%orange%'
您可以循环使用单词来创建WHERE子句条件。
例如:
$words = array( 'apple', 'orange' );
$whereClause = '';
foreach( $words as $word) {
$whereClause .= ' content LIKE "%' . $word . '%" OR';
}
// Remove last 'OR'
$whereClause = substr($whereClause, 0, -2);
$sql = 'SELECT * FROM yourtable WHERE' . $whereClause;
echo $sql;
Output:
SELECT * FROM yourtable WHERE content LIKE "%apple%" OR content LIKE "%orange%"
这篇关于MySQL:列包含单词列表中的单词的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:MySQL:列包含单词列表中的单词


基础教程推荐
猜你喜欢
- ORA-01830:日期格式图片在转换整个输入字符串之前结束/选择日期查询的总和 2021-01-01
- MySQL根据从其他列分组的值,对两列之间的值进行求和 2022-01-01
- 使用 VBS 和注册表来确定安装了哪个版本和 32 位 2021-01-01
- 带有WHERE子句的LAG()函数 2022-01-01
- MySQL 5.7参照时间戳生成日期列 2022-01-01
- 从字符串 TSQL 中获取数字 2021-01-01
- 带更新的 sqlite CTE 2022-01-01
- CHECKSUM 和 CHECKSUM_AGG:算法是什么? 2021-01-01
- while 在触发器内循环以遍历 sql 中表的所有列 2022-01-01
- 如何在 CakePHP 3 中实现 INSERT ON DUPLICATE KEY UPDATE aka upsert? 2021-01-01