我最近一直致力于一些数据库搜索功能,并希望得到一些信息,如每个文档的平均单词(例如数据库中的文本字段).到目前为止我唯一找到的东西(没有在DB之外选择的语言处理)是:
SELECT AVG(LENGTH(content) - LENGTH(REPLACE(content, ' ', '')) + 1)
FROM documents
Run Code Online (Sandbox Code Playgroud)
这似乎有效*但你有其他建议吗?我目前正在使用MySQL 4(希望尽快转移到这个应用程序的第5版),但我也对一般解决方案感兴趣.
谢谢!
*我可以想象这是一个非常粗略的方法来确定它,因为它不会在内容等中考虑HTML.对于这个特定的项目来说没关系但是还有更好的方法吗?
更新:用"更好"来定义我的意思:更准确,更高效,或更"正确"(易于维护,良好实践等).对于我可用的内容,上面的查询足够快,并且对于这个项目是准确的,但我将来可能需要类似的东西(所以我问).
我有一个包含可变数量的逗号分隔值的列:
somethingA,somethingB,somethingC
somethingElseA, somethingElseB
Run Code Online (Sandbox Code Playgroud)
我希望结果取每个值,并创建一行:
somethingA
somethingB
somethingC
somethingElseA
somethingElseB
Run Code Online (Sandbox Code Playgroud)
我怎么能在SQL(MySQL)中这样做?
(我试过谷歌搜索"内爆"和"侧视图",但那些似乎没有出现相关的问题.所有相关的SO问题都试图做更复杂的事情)