查询以显示具有最长名称的用户的名称,按用户名称排序。请注意,用户名中可能有前导或尾随空格。
我尝试了以下查询:
select name, max(length(trim(name))) as length
from user
group by name
order by name;
但是它给出了name
列的所有值的长度,没有空格。
但我只需要那些有最大长度的值。
假设列中有15个名称,并且有5个名称长度最长,所以这5个名称和相应的长度。
表名:user
列名和数据类型:
name varchar(255)
答案 0 :(得分:0)
SELECT *
FROM users
WHERE length(trim(name)) = (SELECT max(length(trim(name))) FROM users)
ORDER BY name
答案 1 :(得分:0)
select name from user where length(name) = (select max(length(name)) from user) order by name;
这对我有用!!