我有一个表如下(一块);从MySQL表中选择最大数字表不工作 - PHP
| Sl | NUMBER | Name |
----------------------
| 7 | 00007 | Name |
----------------------
| 8 | 00008 | Name |
----------------------
| 9 | 00009 | Name |
----------------------
| 10 | 00010 | Name |
----------------------
| 11 | 00011 | Name |
----------------------
| 12 | 00012 | Name |
----------------------
| 13 | 00013 | Name |
----------------------
我有这样的mysql语句;
$con = mysql_connect("localhost","root","password");
if (!$con){
die('Could not connect: ' . mysql_error());
}
mysql_select_db("dbname", $con);
$query = 'SELECT MAX(NUMBER) FROM tablename';//varchar 15 entry
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)){
$maxnumber = $row['MAX(NUMBER)'];
}
echo $maxnumber;
但它返回9而不是13.为什么?
列'NUMBER'的'数据类型'是什么?如果它是varhar而不是填零,那么'9'是最大值。 – 2013-03-03 06:42:26
它只是这样工作:http://sqlfiddle.com/#!2/77f5c/1 – j0k 2013-03-03 06:48:29
如果它实际上返回'9'而不是'00009',你似乎有不在你的表中的数据样品。 – 2013-03-03 06:52:19