X

Способ подсчета кол-ва слов в поле MySQL

Наткнулся на интересный способ подсчета слов, на чистом SQL (имею ввиду без использования php). Он считает длину строки, потом удаляет пробелы (разделители слов), и возвращает разницу...

Выглядит это так:

SELECT (LENGTH(`name`) - LENGTH(REPLACE(`name`, ' ', ''))+1) FROM `table` WHERE `id`=1

Так можно подсчитать кол-во слов в столбце

SELECT SUM(LENGTH(`name`) - LENGTH(REPLACE(`name`, ' ', ''))+1) FROM `table`

А так можно найти кол-во постов, в которых меньше 100 слов

SELECT COUNT(`id`) FROM `table` WHERE (LENGTH(`text`) - LENGTH(REPLACE(`text`, ' ', ''))+1)<100
Тэги: mysql