Самое длинное значение данных в столбце
Запрос на отображение имени пользователя (ей), имеющего самое длинное имя, отсортированное по имени пользователя. Обратите внимание, что в именах пользователей могут быть начальные или конечные пробелы.
Я попробовал следующий запрос:
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