Недавно я работал над некоторыми функциями поиска в базе данных и хотел получить некоторую информацию, например, среднее количество слов в документе (например, текстовое поле в базе данных). Единственное, что я нашел до сих пор (без обработки на языке выбора за пределами БД):
SELECT AVG(LENGTH(content) - LENGTH(REPLACE(content, ' ', '')) + 1)
FROM documents
Кажется, это работает * но у вас есть другие предложения? В настоящее время я использую MySQL 4 (надеюсь перейти к версии 5 для этого приложения в ближайшее время), но мне также интересны общие решения.
Спасибо!
* Я могу себе представить, что это довольно грубый способ определить это, поскольку он не учитывает HTML в контенте и тому подобное. Это нормально для этого конкретного проекта, но опять же есть лучшие способы?
Обновление: Чтобы определить, что я имею в виду под «лучше»: либо более точным, более эффективным или более «правильным» (простым в обслуживании, хорошей практикой и т.д.) Для содержимого, которое у меня есть, приведенный выше запрос достаточно быстрый и точный для этого проекта, но в будущем мне может понадобиться нечто подобное (поэтому я и спросил).