2012-02-03 3 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 

Я ВЫБИРАЮ * ОТ слов. Как я могу подсчитать количество слов в этом ответе на запрос? В этом примере должно быть 17. Я использую PHP и Doctrine.Подсчитайте слова в столбце с SQL:

+1

Если восстановить данные в PHP из результирующих, а затем использовать str_word_count РНР() функцию; если вы хотите сделать wordcount в MySQL сами, посмотрите на этот ответ - http://stackoverflow.com/questions/748276/using-sql-to-determine-word-count-stats-of-a-text-field –

+0

спасибо, пожалуйста, добавьте новый ответ :) –

ответ

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

Нехорошее решение - оно работает только с чистыми данными, слишком много проблем, если между словами есть пробелы между ведущими/конечными пробелами –

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

Добро пожаловать в Stack Overflow! Вместо того, чтобы размещать блок кода, пожалуйста, * объясните *, почему этот код решает поставленную проблему. Без объяснений это не ответ. –

+0

Этот запрос содержит несколько предположений, которые не соответствуют предоставленным данным вопроса. Например, каждый встреченный пробел должен указывать слово (обратите внимание на строку, где 'id' = 4) –

Смежные вопросы