This commit is contained in:
maruizhi
2026-09-22 15:34:10 +08:00
parent 13278d38c7
commit 0c099b5f9c
3 changed files with 13 additions and 7 deletions
+10 -4
View File
@@ -23,16 +23,22 @@ def select_all(db):
try:
l1 = db.query(Student_Model.class_id,Student_Model.gender,func.count(1).label('cnt'))\
.group_by(Student_Model.class_id,Student_Model.gender).all()
all_cnt = sum(i.cnt for i in l1)
d1 = {}
for i in l1:
if i.class_id not in d1:
d1[i.class_id] = 0
d1[i.class_id] += i.cnt
l2 = []
for i in l1:
l2.append({
"all_cnt": all_cnt,
"all_cnt": d1[i.class_id],
"class_id": i.class_id,
"gender": i.gender,
"cnt": i.cnt
})
return l2
except Exception:
raise HTTPException(status_code=500,detail="查询异常")
@@ -69,11 +75,11 @@ def select_score(min_score,max_score,db):
# 实现统计每次考试每个班级的平均分并排序的功能
def select_avg_score(db):
try:
l1 = db.query(Student_Model.class_id,func.avg(WlScore.score).label('avg_score'))\
l1 = db.query(Student_Model.class_id,func.round(func.avg(WlScore.score),1).label('avg_score'))\
.join(Student_Model,WlScore.stu_id == Student_Model.stu_id)\
.filter(WlScore.delete_status==0,Student_Model.delete_status == 0)\
.group_by(Student_Model.class_id)\
.order_by(func.avg(WlScore.score)).all()
.order_by(func.round(func.avg(WlScore.score),1)).all()
return l1
except Exception:
raise HTTPException(status_code=500,detail="查询异常")