diff --git a/PythonProject/api/statistics_api.py b/PythonProject/api/statistics_api.py index c5f0032..a5f2867 100644 --- a/PythonProject/api/statistics_api.py +++ b/PythonProject/api/statistics_api.py @@ -44,4 +44,4 @@ def get_emp(db=Depends(get_db)): @StatisticsAPI.get('/salaries',summary='统计薪资分布') def get_salaries(db=Depends(get_db)): s=classify_salary(db) - return s \ No newline at end of file + return s diff --git a/PythonProject/dao/statistics_dao.py b/PythonProject/dao/statistics_dao.py index edcc645..fd8251d 100644 --- a/PythonProject/dao/statistics_dao.py +++ b/PythonProject/dao/statistics_dao.py @@ -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="查询异常") diff --git a/PythonProject/model/all_model.py b/PythonProject/model/all_model.py index 55a9790..8834864 100644 --- a/PythonProject/model/all_model.py +++ b/PythonProject/model/all_model.py @@ -72,7 +72,7 @@ class ClassManagement(Base): delete_status = Column(Integer,default=0,comment='删除状态:0未删除,1已删除') - delete_time = Column(DATETIME,default=datetime.now,onupdate=datetime.now,comment='删除时间') + delete_time = Column(DATETIME,comment='删除时间') class Teacher_Model(Base): __tablename__ = 'wl_teacher' @@ -149,7 +149,7 @@ class Employment_info(Base): delete_status = Column( Integer,default=0,comment='删除状态:0未删除,1已删除') - delete_time = Column(DATETIME,default=None,comment='删除时间') + delete_time = Column(DATETIME,comment='删除时间') class WlScore(Base): __tablename__ = 'wl_score'