mrz
This commit is contained in:
@@ -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="查询异常")
|
||||
|
||||
Reference in New Issue
Block a user