列中数据的最长值

时间:2015-07-14 15:00:14

标签: ansi-sql

查询以显示具有最长名称的用户的名称,按用户名称排序。请注意,用户名中可能有前导或尾随空格。

我尝试了以下查询:

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 个答案:

答案 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;

这对我有用!!