当列为varchar时在mysql中查找max
我有一个varchar列,其中包含如下数据当列为varchar时在mysql中查找max,sql,mysql,Sql,Mysql,我有一个varchar列,其中包含如下数据 top<somenumber> 如何将上述查询建模为只考虑后跟“top”的数字如果始终是“top[N]”,并且您想要最大N,您可以尝试: SELECT MAX(CAST(SUBSTR(`catalogid`,4) AS DECIMAL(10,2)) ... 一般来说,您可以使用: 然而,这里有一个有趣的小问题,我们需要删除top: select max(cast(substring(catalogid, 4) as decima
top<somenumber>
如何将上述查询建模为只考虑后跟“top”的数字如果始终是“top[N]”,并且您想要最大N,您可以尝试:
SELECT MAX(CAST(SUBSTR(`catalogid`,4) AS DECIMAL(10,2)) ...
一般来说,您可以使用: 然而,这里有一个有趣的小问题,我们需要删除
top
:
select
max(cast(substring(catalogid, 4) as decimal(10,2))) as maxid
from
catalog
你看,在这里,我们用来限制catalogid
字段仅为数字
此外,你可能想退房,因为他们可以非常方便
select
max(catalogid)
from
catalog
select
max(cast(substring(catalogid, 4) as decimal(10,2))) as maxid
from
catalog