如何在MySQL列中找到最大的单词(就LENGTH而言)?

时间:2019-06-03 13:25:55

标签: mysql sql

我有一个包含几个mudiumtext数据类型列的表。现在,我需要根据单词“ LENGTH”找到每行中最长的单词。像下面。

文本列用于存储产品描述(如一般理解的段落)。因此,该列包含多个单词。我需要在该列中找到最长的单词。

我尝试了全部合并,但是行中的字数统计是动态的。

select sum(len) from (
SELECT LENGTH(description) - LENGTH(REPLACE(description, ' ', '')) + 1 as len
FROM test.city
union all
SELECT LENGTH(name) - LENGTH(REPLACE(name, ' ', '')) + 1 as len
FROM test.city
) as tablen;

1 个答案:

答案 0 :(得分:-1)

我会按照单词的长度对列表进行排序,然后选择第一个元素:

SELECT * FROM TEST ORDER BY CHAR_LENGTH(name) DESC LIMIT 1;

要计算行的长度,您可以使用类似的

SELECT *,  CHAR_LENGTH(name) + CHAR_LENGTH(description) as len FROM TEST ORDER BY len DESC LIMIT 1;

希望我能正确理解就能解决您的问题