繁体   English   中英

请帮助查询此数据库以获得 SUM 点

[英]Please help query this database to get SUM point

我有表:

尼姆赫斯特克 关注 kdkmktrkrs sksmktrkrs
20522001 20212 代码 2
20522001 20212 编解码器 3
20522001 20212 编解码器 4
20522001 20211 编码 2(双)
20522001 20212 编码 2(双)
20522001 20212 编码器 2
20522002 20211 CODEZ 5(双)
20522002 20212 CODEZ 5(双)
20522002 20212 编解码器 3
20522002 20212 编解码器 4
20522002 20212 编码 2
20522002 20212 编码器 2

我只需要结果中的双重数据:

$this->getkstotal('20522001') 结果:13
$this-> getskstotal('20522002') 结果:16

我在 codeigniter v3 中的 controller 是:

public function getskstotal($nim)
{
        $query = $this->db->query("select SUM(sksmktrkrs) as skstotal FROM rtrkrs WHERE nimhstrkrs = '".$nim."' GROUP BY kdkmktrkrs");
        foreach($query->result() as $value){
            $sks = $value->skstotal;
        }
        return $sks;    
}

但结果与我需要的不一样。

您应该先区分结果,然后求和。

select sum(sksmktrkrs) 
from (selec distinct nimhstrkrs, sksmktrkrs  from rtrkrs  WHERE nimhstrkrs = '".$nim."') 
GROUP BY kdkmktrkrs

我认为这对你有用: Demo

select
    sum("sksmktrkrs") 
from
    (
        select distinct
            "nimhstrkrs",
            "kdkmktrkrs",
            "sksmktrkrs" 
        from
            rtrkrs 
        WHERE
            "nimhstrkrs" = '".$nim."'
    )
;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM