2017-05-31 41 views

回答

1

類似@scaisEdge,但不是一個子查詢您使用條件計數,看看有多少失敗年級有每個學生。然後只選擇0失敗的那個。

select id_student, avg(grade) 
from my_table 
group by id_student 
HAVING COUNT(CASE WHEN grade <= 6 THEN 1 END) = 0 
+0

非常感謝。完美的作品。你拯救了我的生命。 :) –

0
SELECT AVG(Grade) FROM TABLE WHERE Grade > 6 

所以這個選擇等級的平均從表(更改表到你的表名),其中等級爲不及格以上(我假設其6從你的問題)

+0

這只是刪除失敗的成績,OP要求學生沒有失敗成績。 –

2

你可以使用一個不是在和一個子查詢(和明顯的一組由AVG)

select id_student, avg(grade) 
from my_table 
where id_student not in (select id_student 
      from my_table where grade <= 6) 
group by id_student 
+0

不應該是子查詢語句中where grade <= 6嗎?或者將'不在'改成'in'? –

+0

@MoeA ..正確答案更新..非常感謝 – scaisEdge

+0

感謝您的答案,但查詢不顯示任何東西。但@Juan Carlos Oropeza的查詢完美無缺。不管怎麼說,還是要謝謝你。 –