[英]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.