【问题标题】:mysql SUM not giving correct value [closed]mysql SUM没有给出正确的值[关闭]
【发布时间】:2017-06-19 13:35:37
【问题描述】:

我有一个未返回正确值的 SUM 查询。 它返回 1,而不是值

表中有 2 个条目都具有 amount 列值 200 所以 SUM 应该返回 400 .. 而不是 1

我的查询如下

谢谢

$owtbdq = mysqli_query($con,"SELECT * FROM `crm`.`workshop-otherwork` WHERE `wsjid` = '$wsjid'");
        $owtbdr = mysqli_fetch_assoc($owtbdq);
        $owtbdc = mysqli_query($con,"SELECT SUM(amount) FROM `crm`.`workshop-otherwork` WHERE `wsjid` = '$wsjid'");
        $owtbdcount = mysqli_fetch_assoc($owtbdc);

我也试过没有`周围的数量和相同的结果

我刚刚跑了

 SELECT SUM(amount) FROM `crm`.`workshop-otherwork` WHERE `wsjid` = '4'

在 HeidiSQL 中,它正确返回 400,所以没有线索

【问题讨论】:

  • 从 crm.workshop-otherwork 中选择总和(金额),其中 wsjid = $wsjid。直接在phpmyadmin上运行看看结果
  • 这就是为什么应该使用有意义的变量名称。
  • 这些名字对我来说很有意义 $owtbd = 其他要完成的工作 $wtbd = 要完成的工作 仅仅因为你不知道他们的意思并不意味着我自己或我们公司的其他人不知道
  • 您去覆盖了您的原始问题,而没有将其作为额外的编辑。

标签: php mysql sum


【解决方案1】:

您应该获取第二个请求 ($owtbdc)

$owtbdr = mysqli_fetch_assoc($owtbdc);

【讨论】:

    【解决方案2】:

    你在mysqli_fetch_assoc($owtbdq); 中写了$owtbdq,你没有在做SUM。你应该这样做

    mysqli_fetch_assoc($owtbdc);

    $owtbdq = mysqli_query($con,"SELECT * FROM `crm`.`workshop-otherwork` WHERE `wsjid` = '$wsjid'");
    $owtbdc = mysqli_query($con,"SELECT SUM(`amount`) FROM `crm`.`workshop-otherwork` WHERE `wsjid` = '$wsjid'");
    $owtbdr = mysqli_fetch_assoc($owtbdq);
    

    【讨论】:

    • $owtbdr = mysqli_fetch_assoc($owtbdq);是我没有做 SUM 的查询结果
    • 金额列的数据类型是什么?
    • 是的,但是您在mysqli_fetch_assoc($owtbdq) 中使用了$owtbdq 这个变量。你应该改用$owtbdc
    • 不,还是什么都没有
    【解决方案3】:
    $row = mysqli_fetch_row($owtbdc)
    $value = $row[0]
    

    我想这会奏效。

    【讨论】:

      【解决方案4】:

      解决了

      它终于以数组的形式返回了 $newtotal = array_sum($owtbdcount)

      成功了

      感谢大家的帮助

      【讨论】:

      • 太好了,但是您有什么相关代码应该首先发布吗? array_sum() 是从哪里突然冒出来的?你在使用其他功能吗?
      • 不,所有的代码都在那里.. 不知道刚刚试了一下,它工作了
      • 我仍然认为向查询添加别名(也)会起作用。你应该试试看;-)
      • 不确定我是否理解,您能发布您希望我尝试的内容吗?
      • I already did... ;-) 然后别名将用于回显行的引用中。
      【解决方案5】:

      打印var_dump(),我猜你正在获取资源链接。 您的查询是正确的,而不是您的 PHP 代码。

      编辑:抱歉,它返回一个标识符 -> http://php.net/mysqli_fetch_assoc

      $owtbdc = mysqli_query($con,"SELECT SUM(amount) FROM `crm`.`workshop-otherwork` WHERE `wsjid` = '$wsjid'");
      
      if ($owtbdcount = mysqli_fetch_array($owtbdc)) {
          echo $owtbdcount[0];
      }
      

      【讨论】:

      • var_dump 没有显示任何内容
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-10
      • 1970-01-01
      • 2021-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多