diff --git a/PythonProject/api/statistics_api.py b/PythonProject/api/statistics_api.py index 649c779..86c09e2 100644 --- a/PythonProject/api/statistics_api.py +++ b/PythonProject/api/statistics_api.py @@ -45,3 +45,8 @@ def get_emp(db=Depends(get_db)): def get_salaries(db=Depends(get_db)): s=classify_salary(db) return s + +@StatisticsAPI.get('/avg_salaries',summary='统计每个班级平均薪资') +def get_avg_salaries(db=Depends(get_db)): + s=avg_salary(db) + return s diff --git a/PythonProject/dao/statistics_dao.py b/PythonProject/dao/statistics_dao.py index 0306a61..f6576b5 100644 --- a/PythonProject/dao/statistics_dao.py +++ b/PythonProject/dao/statistics_dao.py @@ -182,3 +182,15 @@ def classify_salary(db): except: raise HTTPException(status_code=500,detail='查询异常!') +#统计每个班的平均就业薪资 +def avg_salary(db): + try: + l=db.query(Student_Model.class_id,func.avg(Employment_info.salary).label('avg_salaries'))\ + .join(Employment_info,Employment_info.stu_id == Student_Model.stu_id)\ + .filter(Employment_info.salary>0,Employment_info.delete_status==0,Student_Model.delete_status==0)\ + .group_by(Student_Model.class_id)\ + .order_by(func.avg(Employment_info.salary).desc()).all() + return l + except: + raise HTTPException(status_code=500,detail='统计异常!') +