我想通過包含在表列中的單詞數過濾MySQL查詢的結果。如何根據列中的單詞數量過濾MySQL結果?
例如,我有10個感言與列ID,名稱,網址,證言和其中五行有一個證明專欄有超過100個單詞組成的證言。
如何使用查詢來返回在該評論欄中少於100個單詞的行?
感謝,
我想通過包含在表列中的單詞數過濾MySQL查詢的結果。如何根據列中的單詞數量過濾MySQL結果?
例如,我有10個感言與列ID,名稱,網址,證言和其中五行有一個證明專欄有超過100個單詞組成的證言。
如何使用查詢來返回在該評論欄中少於100個單詞的行?
感謝,
不,我建議他們做了很大規模偉大的方式,但...
http://www.mwasif.com/2008/12/count-number-of-words-in-a-mysql-column/
SELECT *
FROM table
WHERE LENGTH(field) - LENGTH(REPLACE(field, ' ', '')) + 1 < 100
它實際上計數的空間..但是這對你來說可能已經足夠接近了。
MySQL並沒有真正的「單詞」計數功能,但您可以通過計算文本字段中空格的數量來獲得粗略的估計值。當然,有沒有「有多少個字符‘X’是有一個字符串函數),所以你必須在它去以一種迂迴的方式:
SELECT LENGTH(textfield) - LENGTH(REPLACE(textfield, ' ', '') AS words
FROM ...
HAVING words < 100
基本上,獲取文本字段的長度,然後用空格刪除相同文本字段的長度,給出空格的數量
oooh,優雅!爲你+1! – 2011-03-28 14:54:56
文本的長度減去無空格的文本的長度,理論上應該返回單詞的數量減1 ...所以我認爲+1對你來說是奇怪的相關:) – 2011-03-28 14:59:44
首先定義「字」 – 2011-03-28 15:00:38
@Shrapnel:一系列一個或多個字符,其中任何一邊或兩邊都有空格? – 2011-03-28 15:07:13