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