所以我有一个Django应用程序来处理测试结果,我试图找到某个评估的中位数。我认为这会奏效:
e = Exam.objects.all()
total = e.count()
median = int(round(total / 2))
median_exam = Exam.objects.filter(assessment=assessment.id).order_by('score')[median:1]
median_score = median_exam.score
但它总是返回一个空列表。我可以得到我想要的结果:
e = Exam.objects.all()
total = e.count()
median = int(round(total / 2))
exams = Exam.objects.filter(assessment=assessment.id).order_by('score')
median_score = median_exam[median].score
SELECT score FROM assess_exam WHERE assessment_id = 5 ORDER BY score LIMIT 690,1