求一条SQL语句:

yexd2009 2006-06-07 09:49:14
基础表:
班级 姓名 科目 分数
一班 AA 语文 88
一班 AA 数学 78
一班 BB 语文 69
一班 BB 数学 60
二班 CC 语文 76
二班 CC 数学 85
统计总分在140分以上的人数:
班级 人数
一班 1
二班 1
注意是统计总分在140分以上的各班的人数
...全文
194 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwh999 2006-06-07
  • 打赏
  • 举报
回复
东逛西逛,逛到这儿来时已经晚了...拉倒,还是贴出来吧
--------------------------------------------------------------------------
使用having对分组记录进行限制

select 班级,count(*) from 基础表 group by 班级,姓名 having sum(总分)>140
itblog 2006-06-07
  • 打赏
  • 举报
回复
declare @t table(班级 varchar(10),姓名 varchar(10),科目 varchar(10),分数 int)
insert @t select '一班', 'AA', '语文', 88
insert @t select '一班', 'AA', '数学', 78
insert @t select '一班', 'BB', '语文', 69
insert @t select '一班', 'BB', '数学', 60
insert @t select '二班', 'CC', '语文', 76
insert @t select '二班', 'CC', '数学', 85


select 班级,人数=count(distinct 姓名) from @t group by 班级,姓名 having sum(分数)>140
frankwong 2006-06-07
  • 打赏
  • 举报
回复
试试
select 班级,count(*) as 人数
from
(select 班级,姓名,sum(分数) as 总分
from 基础表
group by 班级,姓名
having sum(总分)>140) a
group by 班级
order by 班级
xeqtr1982 2006-06-07
  • 打赏
  • 举报
回复
declare @t table(班级 varchar(10),姓名 varchar(10),科目 varchar(10),分数 int)
insert into @t select '一班' , 'AA' , '语文' , 88
union all select '一班' , 'AA' , '数学' , 78
union all select '一班' , 'BB' , '语文' , 69
union all select '一班' , 'BB' , '数学' , 60
union all select '二班' , 'CC' , '语文' , 76
union all select '二班' , 'CC' , '数学' , 85

select 班级,count(*) as 人数
from
(select 姓名,班级 from @t group by 姓名,班级 having sum(分数)>140)a
group by 班级
子陌红尘 2006-06-07
  • 打赏
  • 举报
回复
select 班级,count(*) from 表 group by 班级,姓名 having sum(分数)>140

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧