49 lines
1.4 KiB
Python
49 lines
1.4 KiB
Python
from pygments.lexers import sql
|
|
from sentry_sdk.integrations import sqlalchemy
|
|
|
|
from StatCalc.schema.statcalc_request import *
|
|
from fastapi import HTTPException
|
|
from sqlalchemy import *
|
|
|
|
|
|
from students.model.students_model import Students
|
|
|
|
def get_age_30(db):
|
|
q = db.query(Students).filter(Students.age>=30).all()
|
|
return q
|
|
|
|
|
|
from class_management.model.class_management_model import ClassInfo
|
|
|
|
def get_class_count(g , db):
|
|
if g == "班级人数":
|
|
q = (db.query(ClassInfo.id,ClassInfo.name,func.count(ClassInfo.id) )
|
|
.join(Students,Students.class_id==ClassInfo.id)
|
|
.group_by(ClassInfo.id,ClassInfo.name,Students.sex)
|
|
.all())
|
|
elif g == "男女人数":
|
|
q = (db.query(Students.sex,func.count(ClassInfo.id) )
|
|
.join(Students,Students.class_id==ClassInfo.id)
|
|
.group_by(Students.sex)
|
|
.all())
|
|
elif g == "班级中男女人数":
|
|
q = (db.query(ClassInfo.id,ClassInfo.name,Students.sex,func.count(ClassInfo.id) )
|
|
.join(Students,Students.class_id==ClassInfo.id)
|
|
.group_by(ClassInfo.id,ClassInfo.name,Students.sex)
|
|
.all())
|
|
else:
|
|
return False
|
|
return q
|
|
|
|
|
|
from scores.model.score_model import Score
|
|
|
|
def get_score_80(db):
|
|
q = (db.query(Score)
|
|
.filter(Score.score>=80)
|
|
.all())
|
|
return q
|
|
|
|
|
|
|