MySQL查询最大值有关问题

MySQL查询最大值问题

比如我有一张数据表:question

id name date 。。。

1 张三 20120323015956001511

2 张三 20120323015956001511

3 张三 20120323015956001511

……

25 李四 20120323015956001511

id是字符串型(varchar),从1到25;

日期相同,这个不用考虑,只是一个查询字段;

为什么用下面那个查询语句只能查询出到最大值是9呢?

后面的10到25查询不到?

求高人指点?

SQL code


  
select max(id) as maxid 
from 
question
WHERE 
date='20120323015956001511' 




字符串类型大小比较是先比较首字符,然后依次往后的,9>8>…所以就是9了




id是字符串型(varchar)是设计错误。




假设只有2位数

update tt set f1=right(concat(’00’,f1),2)




select max(id+0) as maxid 

from 

question

WHERE 

date=’20120323015956001511′




探讨

select max(id+0) as maxid

from

question

WHERE

date=’20120323015956001511′

MySQL查询最大值有关问题

相关文章:

你感兴趣的文章:

标签云: