SQL中Group by使用

XS表:

SQL中Group by使用_第1张图片

KC:SQL中Group by使用_第2张图片

XX:SQL中Group by使用_第3张图片

1、Group  by使用

select XS.学号,XS.姓名,XS.所在系,XX.课程号,KC.课程名 from XS join XX on XS.学号=XX.学号 join
KC on KC.课程号=XX.课程号
group  by XS.学号,XS.姓名,XS.所在系,XX.课程号,KC.课程名 
order by XX.课程号

注意:

   1、在group By子句中出现的字段,必须出现在Select后的列名中,并且列名中除了聚合函数,不能有其他字段。
   2、group by与order by连用,order by 子句中可包含聚合函数
   3、group by关键字后可以使用多个字段名作为分组字段,这样,系统将根据这些字段的先后顺序对结果集进行更加详细地分组

  不能对数据类型为ntext、text、image或bit的字段使 用 group by子句。

---k.成绩如果是varchar(50)类型的需要转成int
--select  k.课程号,AVG(convert(int,k.成绩))as 平均成绩,COUNT(k.学号)as 人数 from XX k group by k.课程号;
select  k.课程号,AVG(k.成绩)as 平均成绩,COUNT(k.学号)as 人数 from XX k group by k.课程号

查询结果:

SQL中Group by使用_第4张图片

你可能感兴趣的:(数据库)