0

我有一个 MySql 数据库。我的主表是一系列 5 本书的所有句子,有本书的索引,书中的章节,章节中的句子。

示例 - 对于哈利波特第五本书,第 1 章,第 3 句,我会有这样的一行。

BookID   ChapterID   SentenceID   Text
   4         1           3          Deprived of their usual car-washing and lawn-mowing pursuits, the inhabitants of Privet Drive had retreated into the shade of their cool houses, windows thrown wide in the hope of tempting in a nonexistent breeze.

我需要检索所有出现的字母或单词。因此,如果我搜索“e”,我将获得 17 次相同的行。'e' 在这一行中出现了 17 次。

我已经简化了场景,我可以为每个字母检索更多信息。

到目前为止,我一直无法获得有用的东西。

谢谢

4

1 回答 1

1

我 90% 确定 SQL 查询不会为给定的数据库行返回超过一行,除非您使用 JOIN。但这对于您的目的来说效率很低。

这通常实现的方式是使用类似 的查询SELECT * FROM books WHERE Text LIKE '%e%',它将返回文本中至少有一个“e”的所有行;然后您的应用程序将遍历行并计算出现次数。

于 2012-06-06T07:00:37.560 回答