使用java获取mysql中的最大id

时间:2014-01-21 12:25:49

标签: java mysql max

我只想询问如何获取VARCHAR ID的最大数量;

ID
2014-00001
2014-00002
2014-00006
2014-00003

如何获得此列的最大值?

还有一件事我还想知道

HS-01
HS-02
HS-09
HS-03

如何获得此列的最大值?

2 个答案:

答案 0 :(得分:0)

不是在JAVA中,而是直接在mysql中。像这样的东西可能会起作用

SELECT MAX(SUBSTRING_INDEX(ID,'-',-1) + 0) ...

说明: substring_index从分隔符' - '的第一次出现开始选择字符串。然后添加0以将字符串转换为整数。然后选择最大值。

它没有经过测试,所以你可能需要调整一下。

答案 1 :(得分:0)

这应该有效。它将在2014-之后获得角色,然后将它们转换为int,然后获得最高的角色。对于HS-01,请更改(ID, 6)

(ID, 4)
select
    max(cast(substring(ID, 6) as UNSIGNED)) as maxid
from
    table

施法:http://dev.mysql.com/doc/refman/5.6/en/cast-functions.html#function_cast
子字符串:http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_substring