我在mysql中有一个这样的表。列“文件”的数据类型为blob。我需要计算在“文件”列和“属性”列中具有“ lumia”一词的行数。也就是说,这里是第1行和第3行,因此输出必须为2。我该如何在mysql中做到这一点?
第三行中单词lumia的多次出现不需要计数两次。
+------+----------------------------+------------+
| slno | file | attribute |
+------+----------------------------+------------+
| 1 | 5inch 8mp lumia snapdragon | display |
|
| 2 | 8mp galaxy samsung android | camera |
|
| 3 | nokia lumia red lumia | display |
|
| 4 | black samsung 8mp android | camera |
|
| 5 | lumia windows 8mp red | model |
最佳答案
除了How to count the number of occurrences of a particular word in a MySQL blob text?中所述的内容
如果您需要获取总和,请尝试以下操作
SELECT SUM(IF(LOCATE(@searchthis, file),1,0)) AS Count_Sum FROM `documents`;
排除
SUM()
的结果类似于条件“在第三行中多次出现单词lumia的次数无需计算两次”中所述