在MySQL列中查找最大值

时间:2014-04-17 05:33:52

标签: php mysql

似乎这个问题已经得到了很多回答,但我无法让它起作用!

在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'];}

感谢任何帮助。

4 个答案:

答案 0 :(得分:2)

好像您的MonthVARCHAR,您需要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]
  •