group by和distinct

select university,distinct(difficult_level),count(question_id )/count(distinct(device_id)) avg_answer_cnt
from question_practice_detail
join user_profile u on q.device_id=u.device_id
join question_detail on q.question_id = question_detail.question_id
group by university

我就想问不group by difficult_level,在select 里面distinct可以吗??

distinct是可以直接取不一样的数据,但是你的sum count聚合函数需要配合group by使用呀

可以,直接使用distinct需要的字段就行

不可以,如果你想group by university,又想去重difficult_level,只能group by university,difficult_level
你要明白group by的含义和效果

除了聚合函数外,在select后出现的字段,group by后一定要有,不然肯定会报错的。