Create table tab3(stuid int ,curriculumid int ,curriculumName varchar(50),teacherName varchar(50),semester varchar(50),period varchar(50),
exam int,credit_hour int,suit_class varchar(50),class varchar(50))
insert into tab3
select 1,011,'舞蹈','张三',1,10,90,2,'所有','1班' union all
select 1,011,'舞蹈','张三',2,10,70,2,'所有','1班' union all
select 2,012,'篮球','李四',1,10,55,2,'所有','1班' union all
select 2,012,'篮球','李四',2,10,60,2,'所有','1班'union all
select 3,013,'心理','王五',1,10,70,2,'所有','2班'union all
select 3,013,'心理','王五',2,10,50,2,'所有','2班' union all
select 4,011,'舞蹈','张三',1,10,40,2,'所有' ,'1班'union all
select 4,011,'舞蹈','张三',2,10,60,2,'所有' ,'1班'union all
select 5,011,'舞蹈','张三',1,10,95,2,'所有' ,'3班' union all
select 5,011,'舞蹈','张三',2,10,45,2,'所有' ,'3班'  select curriculumid,curriculumName,teacherName,semester,avg(exam) from tab3 group by curriculumName选择列表中的列 'tab3.curriculumid' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。

解决方案 »

  1.   

    select max(curriculumid),curriculumName,max(teacherName),max(semester),avg(exam) from tab3 group by curriculumName 
      

  2.   

    select max(curriculumid),curriculumName,max(teacherName),max(semester),avg(exam) from tab3 group by curriculumName 
      

  3.   

    说出你要查什么?错误原因:select 中出现的字段如果没有被包含在聚合函数中,则必须在出现在group by后面。