Max from MySQL 查询来自数组的一部分
Max from MySQL query from one part of array
我有一个来自 MySQL 查询的数组,它有两个部分,我只想从第一部分获得最大值,但是当我 max($row)
它 returns 日期的最大值,因为这些值更高。当我尝试 max(array_column($row, 'SUM(DISTRIBUTED_AMOUNT / EXCHANGE_RATE)'));
我得到这个错误 max(): Array must contain at least one element
有没有办法只根据第一部分来做?
Array
(
[SUM(DISTRIBUTED_AMOUNT / EXCHANGE_RATE)] => 19.1630000055071
[DATE] => 2013-11
)
在跟踪所需属性的同时使用 foreach。以日期为例。保留一个变量 MaxDate = FirstRow[Date]。然后遍历所有这些并检查实际行是否高于实际 MaxDate。这是一种蛮力方式,但肯定会奏效。您还可以使用 SQL 实际取最大值。
SELECT MAX(something) FROM
SELECT SUM(DISTRIBUTED_AMOUNT / EXCHANGE_RATE) AS something
FROM whatever;
PHP 暴力破解:
$max = $result[0]['SUM(DISTRIBUTED_AMOUNT / EXCHANGE_RATE)'];
foreach($result as $row){
if($row['SUM(DISTRIBUTED_AMOUNT / EXCHANGE_RATE)'] > $max)
max = $row['SUM(DISTRIBUTED_AMOUNT / EXCHANGE_RATE)'];
}
echo $max;
请注意,您必须使用结果中的所有行。记得检查查询结果中是否有元素
我有一个来自 MySQL 查询的数组,它有两个部分,我只想从第一部分获得最大值,但是当我 max($row)
它 returns 日期的最大值,因为这些值更高。当我尝试 max(array_column($row, 'SUM(DISTRIBUTED_AMOUNT / EXCHANGE_RATE)'));
我得到这个错误 max(): Array must contain at least one element
有没有办法只根据第一部分来做?
Array
(
[SUM(DISTRIBUTED_AMOUNT / EXCHANGE_RATE)] => 19.1630000055071
[DATE] => 2013-11
)
在跟踪所需属性的同时使用 foreach。以日期为例。保留一个变量 MaxDate = FirstRow[Date]。然后遍历所有这些并检查实际行是否高于实际 MaxDate。这是一种蛮力方式,但肯定会奏效。您还可以使用 SQL 实际取最大值。
SELECT MAX(something) FROM
SELECT SUM(DISTRIBUTED_AMOUNT / EXCHANGE_RATE) AS something
FROM whatever;
PHP 暴力破解:
$max = $result[0]['SUM(DISTRIBUTED_AMOUNT / EXCHANGE_RATE)'];
foreach($result as $row){
if($row['SUM(DISTRIBUTED_AMOUNT / EXCHANGE_RATE)'] > $max)
max = $row['SUM(DISTRIBUTED_AMOUNT / EXCHANGE_RATE)'];
}
echo $max;
请注意,您必须使用结果中的所有行。记得检查查询结果中是否有元素