易截截图软件、单文件、免安装、纯绿色、仅160KB

如何用sql语句实现成绩求平均分、名次

有一个数据表,格式如下:

  班级      姓名    科目  成绩
(1)班    小明    语文    85
(1)班    小明    数学    90
(1)班    小兰    语文    83
(1)班    小兰    数学    95
(1)班    小欢    语文    86
(1)班    小欢    数学    91
(2)班    小花    语文    87
(2)班    小花    数学    89

现在要求如下
1. 用sql语句求出(1)班的各个学生的成绩的平均分

2. 用sql语句求出(1)班的平均前2名分别是谁

3. 用sql语句判断(1)班的单科成绩都大于85分的是谁
SQL code:
select 姓名,avg(成绩) as 平均分 from tb
where 班级='1班' group by 姓名;

select top 2 姓名,avg(成绩) as 平均分 from tb
where 班级 = '1班'
group by 姓名
order by avg(成绩) desc;

select 姓名 from tb
where 班级 = '1班'
group by 姓名
having count(case when 成绩 > 85 then 1 end) = count(*);


小梁的OK

如果数据表加多一个英语成绩,变成有三个成绩,改为:

有一个数据表,格式如下:

  班级      姓名    科目  成


相关问答:

sql server 存储过程循环赋值的问题

小弟是个新手 现在有个问题一直不能解决
例如
procedure produce_proc
    @p001 nvarchar(8000),
    @p002 nvarchar(8000),
    @p003 nvarchar(8000),
  & ......

总会碰到怪的问题,sql问题

sql2005
select *from v_ddxx where d_sfsc='0' and (g_ssbm='1001' or g_ssbm='1002') and (xxf>0 and  xxfwzf <>0 ),执行速度慢的要死,但是如果把(xxf>0 and  ......

sql 问题

PB中开发的。

DateTime startTime=DateTime(em_1.Text)
DateTime endTime=DateTime(em_2.Text)

string sql
sql = dw_1.GetSQLSelect()+"Where (StartTime> '"+startTime+&q ......

sql 问题

DateTime startTime=DateTime(em_1.Text)
DateTime endTime=DateTime(em_2.Text)

string sql
sql = dw_1.GetSQLSelect()+"Where (StartTime> '"+startTime+"') and (EndTime ......

sql可以有两个以上的触发器吗??

sql可以有两个以上的触发器吗??我指的是for触发器,那其他的呢??
什么意思?

可以的

10个都没问题

可是我写了两个for insert 触发器,造成进程阻塞了呢?怎么办呢?请高人指点
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号