一道笔试题,各位能帮帮忙吗?(分少,不好意思)

kingstarer 2008-03-23 03:21:29
成绩表
学号 姓名 科目 成绩
01 zzz 语文 80
02 xxx 数学 76
01 zzz 数学 78
………………
1 总分大于300分,要求显示学号, 姓名,和总分

写出SQL语句 
=====================================================
想了很久,只想出了求总分的语句,但是无法同时显示姓名

select sum(grade) sums from tablename group by cno having sum(grade) > 300
...全文
59 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
kingstarer 2008-03-23
  • 打赏
  • 举报
回复
也谢谢您的回答了

ps:您的语句会导致数据重复显示
kingstarer 2008-03-23
  • 打赏
  • 举报
回复
哦,谢谢了
Limpire 2008-03-23
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 kingstarer 的回复:]
谢谢了,可以了

能告诉我为什么要在姓名上加上min吗?
[/Quote]

学号是唯一的吧?同一个学号不会有两个姓名吧?如果肯定,那min/max都是它。

当然你喜欢也可以把姓名也一起 group by 了:

select 姓名, sum(grade) sums from tablename group by cno,姓名 having sum(grade) > 300  
internetroot 2008-03-23
  • 打赏
  • 举报
回复
select b.cno,a.name,b.sums from
(select cno,sum(grade) sums from tablename group by cno having sum(grade) > 300 ) as b,
tablename as a
where a.cno=b.cno
kingstarer 2008-03-23
  • 打赏
  • 举报
回复
谢谢了,可以了

能告诉我为什么要在姓名上加上min吗?
Limpire 2008-03-23
  • 打赏
  • 举报
回复
select min(姓名) 姓名, sum(grade) sums from tablename group by cno having sum(grade) > 300

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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