【问题标题】:using MIN and NULLIF correctly正确使用 MIN 和 NULLIF
【发布时间】:2014-06-06 23:48:56
【问题描述】:
$min_cost = min(NULLIF(value, 0))($cost_1, $cost_2, $cost_3, $cost_4);

数据库上的一些成本返回 $0.00,因此自动成为 $min_cost,即使其他成本的值大于零

我找不到太多关于括号应该在 NULLIF 上的位置的信息?有人帮我吗?

【问题讨论】:

  • NULLIF 是一个 MySQL 函数,但您目前正尝试将其用作 PHP 函数。您需要在 MySQL 查询中使用它/
  • 您是否可以使用 WHERE 条件过滤掉成本为 0.00 美元的行?
  • 可以在WHILE循环中使用吗?
  • while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) { $bg = ($bg=='#eeeeee' ? '#ffffff' : '#eeeeee'); $cost_1 = $maxdistance*$row['klm_fare_1'] ; $cost_2 = $maxdistance*$row['klm_fare_2'] ; $cost_3 = $maxdistance*$row['klm_fare_3'] ; $cost_4 = $maxdistance*$row['klm_fare_4'] ; $min_cost = min(NULLIF(value, 0))($cost_1, $cost_2, $cost_3, $cost_4);

标签: php mysql sql min nullif


【解决方案1】:

如果不想通过 SQL 去掉 0 条目,请尝试使用 array_filter。

array_filter() 应该去掉 0 个条目

$array1 = array($cost_1, $cost_2, $cost_3, $cost_4);

$min_cost = min(array_filter($array1));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-16
    • 2019-02-28
    • 1970-01-01
    • 1970-01-01
    • 2012-07-04
    • 1970-01-01
    • 2021-11-27
    • 1970-01-01
    相关资源
    最近更新 更多