【发布时间】:2016-01-04 13:27:30
【问题描述】:
我目前正在研究一个 Postgres SQL 查询,该查询将检查以任意随机顺序匹配空格分隔字符串(3 个单词)的行。
例如,我想查找与“lorem ipsum dolor”匹配的行,它应该返回行 id 0。
+----+-------------------+
| id | sentence |
| 0 | lorem dolor ipsum |
| 1 | lorem ipsum |
| 2 | ipsum dolor |
| 3 | ipsum dolor |
+----+-------------------+
所以它必须满足以下条件:
- 在这种情况下是相同的 3 个单词
- 以任意随机顺序:
- Lorem ipsum dolor
- dolor Lorem ipsum
- ipsum dolor Lorem
- Lorem dolor ipsum
- ...
如果我是正确的,这应该会产生 3 * 3 * 3 = 27 种可能的格式。但这可以想象,这在使用更多单词时相当密集。如何在不影响服务器的情况下实现这一目标,或者寻找正确的方向。
【问题讨论】:
-
如果字符串超过3个单词怎么办?
标签: sql postgresql