mysql 查询子表,并求和

日期:2019-01-22 浏览:461次

框架:tp5

适用场景:统计成绩(统计每个年级,年级班内的每科成绩总分)

本次场景,统计所有扫码组内的二维码图数量,以及扫描二维码的扫描人数

对应表截图

分组表

二维码图表

扫码人数统计表

查询代码

$map['r.appid'] = '123';
$data = Db::name('random_code_group')
    ->alias('r')
    ->join('random_code_img i', 'r.id = i.group_id','LEFT')
    ->join('random_code_record d', 'r.id = d.img_id','LEFT')
    ->field('r.*,count(i.id) as img_id,sum(d.is_add) as is_add,count(d.id) as record')
    ->where($map)
    ->group('r.id')
    ->order('r.id DESC')
    ->select();

dump($data);
注意事项:join多表查询 count数据出错。详情如下:
join多表查询 count数据增多爬坑记录

打印结果如下:

性能优化查询:

mysql 查询子表,并求和,join改为子查询


        
        

        

没有评论

发表评论