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

在php中从sql资源中选择MAX(val),php,mysql,sql,Php,Mysql,Sql,我有一个sql结果,如下所示: MAX(val) | instance 17410742.00 | 0 foreach ($sqlmax as $maxrow){ $myvar=$maxrow['instance']; } 我需要在php中循环,但似乎无法选择Max(val)列。通常我会这样做: MAX(val) | instance 17410742.00 | 0 foreach ($sqlmax as $maxrow)

我有一个sql结果,如下所示:

   MAX(val)    |   instance
17410742.00    |     0
foreach ($sqlmax as $maxrow){
    $myvar=$maxrow['instance'];
}
我需要在php中循环,但似乎无法选择Max(val)列。通常我会这样做:

   MAX(val)    |   instance
17410742.00    |     0
foreach ($sqlmax as $maxrow){
    $myvar=$maxrow['instance'];
}
它返回'instance'值,但我无法获取检索Max(val)的语法

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


如何以与选择“实例”值相同的方式选择最大(val)结果?谢谢

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

SELECT MAX(val) AS max_value ....
然后您可以使用

$myvar=$maxrow['max_value']

在SQL查询中使用
作为

从instance=0的表中选择MAX(val)作为MAX_val,instance

然后您将能够以
$myvar=$maxrow['max_val']的形式访问该列

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

我将继续假设您使用mysql,并提供以下链接:

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

按全名从mytable ORDER中选择CONCAT(姓、、、名)作为全名

就这么做吧

select max(val) as mval
然后像这样访问它

$maxrow['mval']
访问此

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

如果您不想(或无法)使用
作为
,只需提供一个备选答案


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

别名SQL,其中
MAX(val)
使用
MAX(val)作为MaxVal
var\u dump('maxrow)给您带来了什么?非常感谢(以及所有其他人)。这正是我需要的。干杯!:)请务必接受其中一个答案,以便其他人可以看到此问题已得到回答。谢谢!我的sql和你的一模一样!哈哈,这是一个幸运的猜测:我以前没有在sql中使用别名,感谢这个额外的例子,它帮助我理解它。