我有一张学生和他们的成绩表。
如何计算失败成绩的数量( <50 ) 并使用 sqlite 查找一般平均值(我的意思是每个学生的平均值)?
这是表格(studentTable):
sID LessonID grade
1 1 45
1 2 50
1 3 65
2 1 44
2 2 22
2 3 91
我希望结果如下:
sID noOfFails Average
1 1 53
2 2 5
答案 0 :(得分:1)
您可以在case
函数中使用count
表达式:
SELECT sID, COUNT(CASE WHEN grade < 50 THEN 1 END) AS noOfFails, AVG(grade)
FROM mytable
答案 1 :(得分:1)
尝试
SELECT
sID,
SUM(CASE WHEN grade < 50 THEN 1 ELSE 0 END) AS noOfFails,
AVG(grade) AS Average
FROM studentTable
GROUP BY sID
演示
答案 2 :(得分:0)