数据库
首页 > 数据库> > mysql-计算一行包含关键字的频率

mysql-计算一行包含关键字的频率

作者:互联网

计算每个关键字存在多少行的最有效方法是什么.例如,给出以下列表:

cat, dog, basement, parrot, whale, dolphins

并给出以下简单数据库:

ID  TEXTDATA
1   The cat is in the basement, the cat is not on the roof.
2   The dog is going home.
3   The birds are flying in the sky.
4   The dolphins are swimming in the ocean, i really like dolphins.
5   The mouse live in the basement.

结果应为:

cat=1 ( two occurrences in one row )
dog=1 ( one occurrence in one row )
basement=2 ( two occurrences in two rows )
parrot=0 ( zero occurrences )
whale=0 ( zero occurrences )
dolphins=1 ( two occurrence in one row )

可以在Coldfusion或mysql中计算效率更高的结果.

解决方法:

尝试嵌套循环.

<cfset wordCount = ArrayNew(2)>
<cfset arrayRow = 0>
<cfset words = "cat,dog,etc">
<cfloop list = "#words# index = "thisWord">
<cfset arrayRow ++>
<cfset wordCount[arrayRow][1] = thisWord>
<cfset wordCount[arrayRow[2] = 0>

<cfloop query = "yourQuery">
<cfif listfind(textdata, thisWord, " "> <!--- space delimited --->
<cfset wordCount[arrayRow[2] += 1>
closing tags

标签:coldfusion,mysql
来源: https://codeday.me/bug/20191118/2028707.html