一对多的查询语句中,如果包含聚合查询? 求帮助!!!

如:一个用户对应多个学科如:数学 英语 语文 ,而每个学科 对应很多次的成绩,如每天一考试,那么每个学科的成绩又很多。那么想在查询数学成绩的同时,还要查询出当时的最高分和最低分,以及平均分。

//PHP伪代码

user class{
    public function shuxues(){
        return $this->hasMany(Shuxue::class);
    }
    public function yuwens(){
        return $this->hasMany(Yuwen::class);
    }
}

现在想查询 当前用户一个礼拜的数学成绩(成绩中包含了 最高分 最低分 平均分)

如:

[
    1=>[
        'fenshu'=>98,
        'pingjun'=>90,
        'zuigao'=>98,
        'zuidi'=>90
    ],
    2=>[
        'fenshu'=>99,
        'pingjun'=>90,
        'zuigao'=>98,
        'zuidi'=>90
    ]
]
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 1

with时使用闭包,使用select指定查询字段,然后再使用Raw使用原生sql语句,如:select(DB::rawI('MAX(score) AS max'), DB::raw('MIN(score) AS min'))。

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!