SQL中Group by使用

本文介绍 SQL 中 Group By 子句的使用方法,包括基本语法、注意事项及与 Order By 子句的配合使用。通过实例演示如何进行多字段分组查询,并展示了如何计算每门课程的平均成绩和选课人数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

XS表:


KC:

XX:

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.课程号

查询结果:


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值