我在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的次数无需计算两次”中所述

09-10 07:57