似乎这个问题已经得到了很多回答,但我无法让它起作用!
在DB表中有一个'Month'列,最多可达313条。
我是否尝试将此最大金额分配给正在运行的PHP值,但仍将$ maxmonth作为99返回?
当前编码:
$result=mysqli_query($con,"SELECT MAX(Month) AS max from $ulliabforecast");
{while ( $row = $result->fetch_assoc() )
$maxmonth=$row['max'];}
感谢任何帮助。
答案 0 :(得分:2)
好像您的Month
是VARCHAR
,您需要CAST
才能使其发挥作用。
SELECT MAX(CAST(Month AS SIGNED)) AS max1 from $ulliabforecast
答案 1 :(得分:1)
尝试
SELECT `month` FROM $ulliabforecast ORDER BY `month` DESC LIMIT 0,1
作为您的SQL查询,这应该从您的数据库中选择最大的月份列。
答案 2 :(得分:0)
您可能将月份列用作VARCHAR
类型,将其更改为INT
,您的问题就会得到解决。
祝你有个美好的一天。
答案 3 :(得分:0)
您可以将month
用作VARCHAR
。请检查。
如果属实,您可以将其转换为UNSIGNED
然后从中获取Max
请尝试以下SQL
声明
SELECT MAX(CAST(`month` AS UNSIGNED)) AS max FROM $ulliabforecast
<强> 注意 强>
如Cast Functions and Operators中所述:
结果的类型可以是以下值之一:
BINARY[(N)]
CHAR[(N)]
DATE
DATETIME
DECIMAL[(M[,D])]
SIGNED [INTEGER]
TIME
UNSIGNED [INTEGER]