我有表和列id,值为1,2,3,...,10,11,12,13。 如何从varchar类型查询get max id?我试过了
select MAX(id) from table
但结果是9,请帮忙??
答案 0 :(得分:7)
看起来值是字符串并选择最大字符串。如果您希望它们按数字排序,则必须先将它们转换为数字。您可以使用CONVERT执行此操作:
SELECT MAX(CONVERT(id, SIGNED)) FROM table
您还可以使用CAST:
SELECT MAX(CAST(id AS SIGNED)) FROM table
他们几乎做同样的事情,除非CONVERT
有其他选择,如果你需要它们。
答案 1 :(得分:3)
您可以将varchar转换为整数 - 类似于
SELECT MAX(CONVERT(id, SIGNED)) FROM table
http://dev.mysql.com/doc/refman/5.0/en/cast-functions.html#function_convert
答案 2 :(得分:1)
SELECT MAX(id+0) FROM
表可以解决问题