Как найти самое большое слово (с точки зрения длины) в столбце MySQL? - PullRequest
0 голосов
/ 03 июня 2019

У меня есть таблица с несколькими столбцами типа данных mudiumtext.Теперь мне нужно найти самое длинное слово в каждой строке в терминах слова ДЛИНА.Как ниже.

Текстовый столбец предназначен для хранения описания продукта (как абзац в общем понимании).Таким образом, столбец состоит из нескольких слов.И мне нужно найти самое длинное слово в столбце.

Я пробовал с объединением всех, но число слов в строках динамическое.

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 голосов
/ 03 июня 2019

Я бы сделал это, отсортировав список по длине слова, а затем выбрав первый элемент:

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;

Надеюсь, что это решит вашу проблему, если я правильно понял

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...