1

我正在使用 sql 和 ruby​​ 开发一个基本的单词查找器应用程序,其中我有一组字母来查找可用的单词。通过缩小数组中不包含的字母来更容易进行查询。例如。

alphabet= %w{a b c d e f g h i j k l m n o p q r s t u v w x y z}

available_letters = %w{p k z l p m t l n g g r u a r t n d z w a l m n e}

然后,我可以从字母表中减去要从我的搜索中排除的字母,并最终得到一个如下所示的 sql 查询。

select * from words
where word not like '%b%' and word not like '%c%' and word not like '%f%'.....

这为我提供了所有可用单词以及所有可用字母的组合。它不会按字母出现的次数来缩小范围。因此,如果我只有一个“E”,我希望查询缩小只包含一个 e 的单词。我不确定这是否可以通过 sql 查询来完成,或者我是否需要使用过程。有谁知道解决这个问题的好方法?

4

1 回答 1

0

您可能想要寻找更快的方法来实现这一点,但要回答您的问题,您可以排除带有多个“e”的单词not like '%e%e%'

于 2012-11-06T16:09:30.767 回答