按MySQL字段中的单词数排序

Mar*_*jer 2 mysql sql-order-by

我想按指定列中的单词数对MySQL查询的结果进行排序。

像这样:

SELECT bar FROM foo ORDER BY WordCountFunction(bar)
Run Code Online (Sandbox Code Playgroud)

可能吗?

Ste*_*iao 5

据我所知,MySQL中没有单词计数功能,但是如果您的数据格式正确(您可以用空格分隔单词,在输入的开头/结尾没有空格),您可以计算空格数并添加一个。

这是查询中列出最长单词的查询:

SELECT bar FROM foo ORDER BY (LENGTH(bar) - LENGTH(REPLACE(bar, ' ', ''))+1) DESC
Run Code Online (Sandbox Code Playgroud)