Самое длинное значение данных в столбце

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

Я попробовал следующий запрос:

select name, max(length(trim(name))) as length 
from user 
group by name 
order by name;

но это дает мне длину всех значений name столбец без пробелов.

Но мне нужны только те значения, которые имеют максимальную длину.

Предположим, что в столбце 15 имен, и 5 имен имеют самую длинную длину, поэтому все эти 5 имен имеют соответствующую длину.

Название таблицы: user

Название столбца и тип данных:

name varchar(255)

2 ответа

Решение
select name from user where length(name) = (select max(length(name)) from user) order by name;

это сработало для меня!

SELECT *
FROM users
WHERE length(trim(name)) = (SELECT max(length(trim(name))) FROM users)
ORDER BY name
Другие вопросы по тегам