我正在MySQL数据库中对静态记录执行关键词文本搜索。是否可能构建一个查询,找到记录中的第一个关键字和相邻记录中的第二个关键字?考虑以下示例数据。
------------------------------------------------------
| id | textstrings |
------------------------------------------------------
| 1 | Every good boy does fine. |
| 2 | The quick brown fox jumped over the lazy dog. |
| 3 | I will not eat green eggs and ham. |
| 4 | There is no time like the present. |
| 5 | Envy is an ugly shade of green. |
------------------------------------------------------
搜索词“green brown”应该返回2和3两条记录,因为它们是相邻的记录,但不应该包含第5条记录,因为它与第3条记录不相邻。
我知道可以查询其中一个单词并通过处理结果集来实现这一点,但我想知道是否可能将其构建到查询中。
此字段确实具有FULLTEXT索引。
WHERE
子句更改为:t1.id = t2.id - 2 OR t1.id = t2.id + 2
。 - Tim BiegeleisenON t1.id> = t2.id-3 AND t1.id <= t2.id + 3
。 根据需要调整数字“3”以获得记录之间的距离。 - Nilpo