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