我正在尝试编写一个查询,该查询返回列中最短的字符串值。例如:如果ColumnA的值为ABCDE,ZXDR,ERC,则查询应返回“ERC”。我已经编写了以下查询,但是我想知道是否有更好的方法可以做到这一点?
查询应返回单个值。
select distinct ColumnA from
(
select ColumnA, rank() over (order by length(ColumnA), ColumnA) len_rank
from TableA where ColumnB = 'XXX'
)
where len_rank <= 1
最佳答案
怎么样:
select ColumnA
from
(
select ColumnA
from tablea
order by length(ColumnA) ASC
)
where rownum = 1
关于sql - Oracle-返回一组行中的最短字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2676741/