从MySQL中的varchar列获取最大值
我需要从varchar类型的列中获取最大值。该值不太复杂,只是简单的值,如从MySQL中的varchar列获取最大值,mysql,max,Mysql,Max,我需要从varchar类型的列中获取最大值。该值不太复杂,只是简单的值,如car001(无空格)、car002(无空格)、car003(无空格) 我尝试了其他类似问题的任何答案,但它总是在我的SQL语法中出错,我最后一次尝试的是 SELECT MAX(CONVERT(`code`, UNSIGNED)) AS MAX FROM `account` ,但我得到的是0。真实的必须是案例中的3。请帮帮我,很抱歉英文不好。尝试使用子字符串\u INDEX来隔离数字部分: SELECT * FROM y
car001
(无空格)、car002
(无空格)、car003
(无空格)
我尝试了其他类似问题的任何答案,但它总是在我的SQL语法中出错,我最后一次尝试的是
SELECT MAX(CONVERT(`code`, UNSIGNED)) AS MAX FROM `account`
,但我得到的是0。真实的必须是案例中的3。请帮帮我,很抱歉英文不好。尝试使用
子字符串\u INDEX
来隔离数字部分:
SELECT *
FROM yourTable
WHERE SUBSTRING_INDEX(col, ' ', -1) = (SELECT MAX(SUBSTRING_INDEX(col, ' ', -1))
FROM yourTable);
假设只有一条记录具有max ID,我们可以更简单地使用LIMIT
查询:
SELECT *
FROM yourTable
ORDER BY SUBSTRING_INDEX(col, ' ', -1) DESC
LIMIT 1;
试试这个
select max(SUBSTRING_INDEX(col, ' ', -1)) from TableName
位数
001
是固定的还是可以变化的?它将是固定的,只需假设它是自动增量值。直到最高999