如果我说:
select max(length(Name))
from my_table
Run Code Online (Sandbox Code Playgroud)
我得到结果为18,但我也想要有关数据.所以,如果我说:
select max(length(Name)),
Name
from my_table
Run Code Online (Sandbox Code Playgroud)
...这是行不通的.应该有一个自我加入,我想我无法弄明白.
谁能请我提供线索?
Qua*_*noi 152
SELECT name, LENGTH(name) AS mlen
FROM mytable
ORDER BY
mlen DESC
LIMIT 1
Run Code Online (Sandbox Code Playgroud)
cjo*_*ohn 14
已编辑,将适用于未知的max()值:
select name, length( name )
from my_table
where length( name ) = ( select max( length( name ) ) from my_table );
Run Code Online (Sandbox Code Playgroud)
小智 6
如果您需要同一个表中的最大值和最小值:
select * from (
(select city, length(city) as maxlen from station
order by maxlen desc limit 1)
union
(select city, length(city) as minlen from station
order by minlen,city limit 1))a;
Run Code Online (Sandbox Code Playgroud)
好的,我不确定你在用什么(MySQL,SLQ服务器,Oracle,MS Access ..)但你可以尝试下面的代码.它适用于W3School示例DB.这里 试试这个:
SELECT city, max(length(city)) FROM Customers;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
121611 次 |
| 最近记录: |