从php中的sql资源中选择MAX(val)


selecting MAX(val) from a sql resource in php

我有一个sql结果,看起来像这样:

   MAX(val)    |   instance
17410742.00    |     0

我需要在php中循环它,但我似乎无法选择Max(val(列。通常我会做这样的事情:

foreach ($sqlmax as $maxrow){
    $myvar=$maxrow['instance'];
}

它返回"instance"值,但我无法获得将Max(val(检索为的语法

foreach ($sqlmax as $maxrow){
    $myvar=$maxrow['Max(val)'];
}

不起作用。我收到错误通知:未定义的索引:

如何像选择"实例"值一样选择Max(val(结果?感谢

在SQL查询中使用AS

SELECT MAX(val) AS max_val, instance FROM table WHERE instance = 0;

然后,您将能够以$myvar=$maxrow['max_val'];的身份访问该列。

我在这里写的查询只是一个例子,因为您没有提供您的查询。

我将继续假设您使用mysql,并将提供mysql文档的链接:

select_expr可以使用AS alias_name获得别名。别名用作表达式的列名,可以在GROUP BY、ORDER BY或HAVING子句中使用。例如:

SELECT CONCAT(last_name,', ',first_name) AS full_name FROM mytable ORDER BY full_name;

在查询中指定一个列名,这样您可以更容易地访问字段:

SELECT MAX(val) AS max_value ....

然后你可以用访问它

$myvar=$maxrow['max_value']

只需像一样操作即可

select max(val) as mval

并像一样访问它

$maxrow['mval']

只需提供一个备用答案,以防您不想(或无法(使用AS

这里的问题是数组的键区分大小写,所以必须使用$maxrow['MAX(val)']而不是$maxrow['Max(val)']

SELECT MAX(val) AS instance 

访问此

foreach ($sqlmax as $maxrow){
    $myvar=$maxrow['instance'];
}