如何在MySQL列中找到最大的单词(长度)?

vpfxa7rd  于 2023-08-02  发布在  Mysql
关注(0)|答案(2)|浏览(115)

我有一个包含几个mudiumtext数据类型列的表。现在,我需要找到每行最长的单词(以单词长度表示)。像下面。
文本列用于存储产品描述(就像一般理解中的段落)。因此该列包含多个单词。我需要找出列中最长的词是什么。
我试过使用union all,但行数中的字数是动态的。

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;

字符串

jvlzgdj9

jvlzgdj91#

对不起,我看不到你的数据集,但下面的代码可能会帮助你。
在SQL下面-选择第一个“升序”最小的station.city并显示所选单词中的字符数

SELECT STATION.CITY, LENGTH(STATION.CITY) 
FROM STATION 
WHERE
LENGTH(STATION.CITY) = (SELECT MIN(LENGTH(STATION.CITY)) FROM STATION) 
ORDER BY STATION.CITY ASC LIMIT 1;

字符串
在SQL下面-选择第一个“升序”最大的station.city并显示所选单词中的字符数

SELECT STATION.CITY, LENGTH(STATION.CITY)
FROM STATION 
WHERE
LENGTH(STATION.CITY) = (SELECT MAX(LENGTH(STATION.CITY)) FROM STATION) 
ORDER BY STATION.CITY ASC LIMIT 1;


您的输出将是(stdout)

Amo 3
Marine On Saint Croix 21

jq6vz3qz

jq6vz3qz2#

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

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;


如果我理解正确的话,希望能解决你的问题

相关问题