从表格问题中选择最大值

C P*_*PWL 3 mysql sql

我有一组如下数据:

Id           Name
==           ======
1            name1
10           name10
2            name2
3            name3
4            name4
5            name5
6            name6
7            name7
8            name8
9            name9
Run Code Online (Sandbox Code Playgroud)

如果我从表中选择max(id),它会假设将10作为最大值对吗?为什么我总是得到结果9而不是10?出了什么问题?

Mar*_*ith 8

大概Id是字符串而不是数字数据类型.

您应该将其更改为更合适的数据类型,例如integer.

如果这不可能,那么您需要对数值数据类型进行强制转换.例如,MAX(CAST(Id AS UNSIGNED))但我建议修理它.