计算mysql视图中的单词数

时间:2011-09-19 22:18:07

标签: mysql view

我有以下表结构

+-----------------+-------------+
| myID            | text        |
+-----------------+-------------+
| 3               | some text   |
| 3               | other text  |
| 5               | text        |
+-----------------+-------------+

myID不是唯一ID。它可以重复。文本是任意字符串。 我正在寻找创建一个视图,返回myID行的文本中的单词数。

+-----------------+-------------+
| myID            | count       |
+-----------------+-------------+
| 3               | 4           |
| 5               | 1           |
+-----------------+-------------+

好吧,我开始了(我是一个新手是mySQL)并做了以下

SELECT 
myid,
pagetext
FROM table
GROUP by myid

这只是分组。我认为接下来的步骤是

  1. 如何使pagetext返回相应的myID行的连接(我希望将连接限制为仅25行)。
  2. 如何计算返回值中的单词数。
  3. 任何想法如何开始?

1 个答案:

答案 0 :(得分:1)

您可以使用以下查询找到列中的单词数(如果您可以假设单词之间有1个单词和1个空格):

SELECT
  myId,
  SUM(LENGTH(text)-LENGTH(REPLACE(text, ' ', ''))+1)
FROM table
GROUP BY myId

来源:http://www.mwasif.com/2008/12/count-number-of-words-in-a-mysql-column/