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

SQL不明白 - MS-SQL Server / 应用实例

查询学生平均成绩及其名次 
  SELECT 1+(SELECT COUNT( distinct 平均成绩) 
  from (SELECT S#,AVG(score) AS 平均成绩 
  from SC 
  GROUP BY S# 
  ) AS T1 
  WHERE 平均成绩 > T2.平均成绩) as 名次, 
  S# as 学生学号,平均成绩 
  from (SELECT S#,AVG(score) 平均成绩 
  from SC 
  GROUP BY S# 
  ) AS T2 
  ORDER BY 平均成绩 desc; 
语句不是很理解啊。帮下我吧
语言不太好表达,帮顶吧

SQL code:

--计算均分
SELECT S#,AVG(score) 平均成绩
from SC
GROUP BY S#

--按照学号计算平均分,并取得高于均分的同学的个数
SELECT COUNT( distinct 平均成绩)
from (SELECT S#,AVG(score) AS 平均成绩
from SC
GROUP BY S#
) AS T1
WHERE 平均成绩 > T2.平均成绩

--不过不知道为何+1?



SQL code:

--哦,这样一目了然了,其实你就是在给学生排名次。
create view view_acg_scor as select s# 学号,avg(score) 平均成绩 from SC group by s#
SELECT 1+(SELECT COUNT( distinct 平均成绩)
from view_acg_score AS T1


相关问答:

SQL如何优化问题 - MS-SQL Server / 疑难问题

今天做了一个存储过程   环境是SQL2000数据库  
大致如下
建立临时表
定义员工游标
        循环员工(属于1个公司)  
        ......

请教SQL语句查询问题? - MS-SQL Server / 基础类

我想查询出每天数据的最大的一个值。表的格式如下
表名: hisdata
字段 编号 值 状态 时间  
  Id value state dattime  
  101 32.3 0 ......

sql 问题 - MS-SQL Server / 基础类

需求如下:
学院 academy(aid,aname)
班级 class(cid,cname,aid)
学生 stu(sid,sname,aid,cid)
住宿区 region(rid,rname)
宿舍楼 build(bid,rid,bnote) bnote是‘男’/‘女’
宿舍 dorm(did,rid,bid,bedn ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号