我的数据库中有一个表reg

register_id
-----------
REG-3
REG-5
REG-9
REG-10


当我查询选择最大时,此结果为:REG-9(这是错误的-REG-10是正确的答案)。

这是我的查询:

SELECT max(register_id) AS maxdata
FROM reg


帮帮我谢谢

最佳答案

尝试这个:

SELECT  max(CONVERT(SUBSTRING_INDEX(register_id,'-',-1),UNSIGNED INTEGER))
FROM reg


SQL DEMO

SELECT  register_id
FROM reg
group by register_id
having max(CONVERT(SUBSTRING_INDEX(register_id,'-',-1),UNSIGNED INTEGER))
limit 1


SQL DEMO

关于mysql - 查询以检查Mysql数据库中的最大数据不正确,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33538406/

10-14 13:00