2012-02-03 89 views
1
id | words       | other 
1 | lorem ipsum      | dsf 
2 | Lorem Ipsum is simply dummy text | sads 
3 | simply dummy text    | sdf 
4 | Lorem Ipsum text    | sdfsdf 
5 | simply dummy Lorem    | asddasd 

我做SELECT * FROM單詞。 如何計算查詢的這個答案中有多少單詞?在這個例子中應該是17. 我使用PHP和Doctrine。用SQL列計算單詞

+1

如果您檢索數據從結果到PHP,然後使用PHP的str_word_count()函數;如果你想在MySQL本身做wordcount,看看這個答案 - http://stackoverflow.com/questions/748276/using-sql-to-determine-word-count-stats-of-a-text-field – 2012-02-03 11:37:09

+0

謝謝,請添加新的答案:) – 2012-02-03 13:00:28

回答

4
SELECT LENGTH(words) - LENGTH(REPLACE(words, ' ', '')) + 1 AS words_count 
FROM table_name 
+1

不是一個好的解決方案 - 它只適用於乾淨的數據,太多的問題,如果單詞之間有多個空格,或前/後空格 – 2012-02-03 11:45:09

0
SELECT SUM(LENGTH(words) - LENGTH(REPLACE(words, ' ', ''))+1) 
FROM table 
+0

歡迎來到堆棧溢出!請不要只發布一段代碼,請*解釋*爲什麼這段代碼能解決問題。沒有解釋,這不是一個答案。 – 2012-10-30 20:54:41

+0

此查詢似乎做出了一些不符合提供的問題數據的假設。例如遇到的每一個空格字符都應該指出一個單詞(注意'id' = 4的行) – 2012-10-30 21:00:02