我在Mysql查询中使用max()。
$sql="SELECT max(`invoice_number`)
FROM `order_details`
WHERE `financial_year` = '$years' ";
$sql1= $this->db->query($sql)->result_array();
print_r($sql1);
die();
正在发生的奇怪事情是在数据库表中高达10,它显示最大值为10但是当它是11或12或13或14它仍然显示10。 欢迎任何帮助。
答案 0 :(得分:1)
由于字段invoice_number
是varchar
,您必须执行此操作才能获得预期结果:
$sql="SELECT max( cast(`invoice_number` as unsigned) )
FROM `order_details`
WHERE `financial_year` = '$years' ";
另请参阅此处了解更多信息:https://dev.mysql.com/doc/refman/5.7/en/example-maximum-row.html