为了账号安全,请及时绑定邮箱和手机立即绑定

从 php 和 mysql 中找到完成百分比的平均值

从 php 和 mysql 中找到完成百分比的平均值

PHP
慕斯王 2022-10-09 20:16:53
我在名为 customer_type_total_avg 的表中有这个结构USEDID       CID            TYPE           PERCENTAGECOMPLETED-------      ----           ----           ------------------1            6              external       121            6              external       501            6              internal       501            6              external       841            6              internal       1001            6              external       100function getCustomerprogress($where) {    $progress = 0;    $cid = $where["cid"];    $userid = $where["userid"];    $sql = "SELECT     TRUNCATE(avg(t.percentage),1) as avg_percentage    FROM    (SELECT            percentagecompleted as 'percentage'    FROM        customer_type_total_avg    WHERE        userid = $userid and cid = $cid) AS t";    $query = $this->db->query($sql);    if ($query->num_rows() > 0) {        foreach ($query->result_array() as $row) {            $progress = $row["avg_percentage"];        }    }    return $progress;}我需要一个 SELECT 查询来查找 WHERE USERID 和 CID 匹配的行的总平均值注意:我们也应该在 SELECT 查询中包含以下条件以获得平均值当“类型”为“外部”时,应考虑“已完成百分比”列中的任何值当“TYPE”为'internal'且percentagecompleted = '50'时,应替换percentagecompleted = '0'的值,并考虑求平均值的行示例:从上表中,我们匹配了六行,它将考虑用于平均计算的外部类型百分比完成值,在第三行中,内部百分比完成的百分比为“50”,我需要将值替换为“0”和求总行数的平均值USEDID       CID            TYPE           PERCENTAGECOMPLETED-------      ----           ----           ------------------1            6              external       121            6              external       501            6              internal       01            6              external       841            6              internal       1001            6              external       100
查看完整描述

1 回答

?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

您可以使用CASE.


SELECT AVG(CASE WHEN TYPE='internal' and PERCENTAGECOMPLETED=50 

                THEN 0 

                ELSE PERCENTAGECOMPLETED END) AS AVG

FROM CUSTOMER_TYPE_TOTAL_AVG

在这里查看演示


查看完整回答
反对 回复 2022-10-09
  • 1 回答
  • 0 关注
  • 109 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号