MySql - 全部发生

时间:2012-06-06 06:51:27

标签: mysql sql

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

示例 - 对于哈利波特的第五册,第一章,第三句,我会有一排这样的。

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次。

我简化了方案,我有更多信息要为每个字母检索。

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

谢谢

1 个答案:

答案 0 :(得分:1)

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

通常实现此方法的方法是使用SELECT * FROM books WHERE Text LIKE '%e%'之类的查询,该查询将返回文本中至少有一个“e”的所有行;那么你的应用程序将迭代行并计算出现次数。