查詢平均成績大於等於60分的同學的學生編號和學生姓名和平均成績
--解法一:
select t1.s_id, t2.s_name, avg(t1.s_score) as avg_score from score t1 left join student t2 on t1.s_id = t2.s_id group by t1.s_id having avg(t1.s_score) >= 60
--參考解法:
select b.s_id, b.s_name, round(avg(a.s_score), 2) as avg_score from student b join score a on b.s_id = a.s_id group by b.s_id, b.s_name having round(avg(a.s_score), 2)>= 60;
GROUP BY表示根據哪個字段進行分組
GROUP BY必須得配合聚合函數來用,分組之后可以使用聚合函數。
常用聚合函數
count() 計數 sum() 求和 avg() 平均數 max() 最大值 min() 最小值
HAVING相當於條件篩選,但它與WHERE篩選不同,HAVING是對於GROUP BY對象進行篩選。
--2019/04/16