Php 如何从MySQL列中获取最大值

Php 如何从MySQL列中获取最大值,php,mysql,Php,Mysql,实际上,我想从MySQL数据库列中获取最高值,我尝试了上述代码,但根据记录,最高值为10200,但查询显示9999为最高值。。请帮助我如何获得最高价值 MYSQLI查询与PHP $tquery = 'SELECT MAX(bill_no) AS lastbill FROM msr_bills'; $row = mysqli_fetch_assoc(mysqli_query($con,$tquery)); $nextbillno = $row['lastbill']; 请尝试此查询 SELECT

实际上,我想从MySQL数据库列中获取最高值,我尝试了上述代码,但根据记录,最高值为10200,但查询显示9999为最高值。。请帮助我如何获得最高价值

MYSQLI查询与PHP

$tquery = 'SELECT MAX(bill_no) AS lastbill FROM msr_bills';
$row = mysqli_fetch_assoc(mysqli_query($con,$tquery));
$nextbillno = $row['lastbill'];
请尝试此查询

SELECT bill_no as lastbill  FROM msr_bills ORDER BY bill_no DESC LIMIT 1

如果列
bill\u no
被定义为字符列,如
CHAR
VARCHAR
,则MySql正在进行字符而不是数字比较,您需要首先将列转换为数字:

$tquery='从msr_bills中选择MAX(CAST(bill_no as UNSIGNED))作为lastbill'


您可以考虑将来将列转换为具有足够精度的数字类型,以保持您拥有的最大帐号,然后不必使用CAST函数。< /P> <代码> BILYNO NO/CODE> >的数据类型是什么?将其排序为字符串吗?我将字符列更改为VARCHAR。它工作得很好now@user3694260但是,如果希望获得最大值,您仍然必须继续执行call to CAST以将其转换为数字。例如,如果您将其更改为INT(可以处理多达8位的票据编号)、BIGINT(多达18位)或DECIMAL(N),其中N是票据编号中的位数,例如DECIMAL(10),那么您只需要

$tquery='选择MAX(票据编号)作为msr_bills的最后一张票据';
好的..我知道了!