|
楼主 |
发表于 2011-1-14 13:34
|
显示全部楼层
{:021:}工作表保护密码被EH里的人破了.
方法一:
select 班级,学生,
语文,(select count(*)+1 from [成绩表$] where 班级=a.班级 and iif(IsNumeric(语文)=0,0,语文+0)>iif(IsNumeric(a.语文)=0,0,a.语文+0)) as 语文排名,
数学,(select count(*)+1 from [成绩表$] where 班级=a.班级 and iif(IsNumeric(数学)=0,0,数学+0)>iif(IsNumeric(a.数学)=0,0,a.数学+0)) as 数学排名,
英语,(select count(*)+1 from [成绩表$] where 班级=a.班级 and iif(IsNumeric(英语)=0,0,英语+0)>iif(IsNumeric(a.英语)=0,0,a.英语+0)) as 英语排名,
总分,(select count(*)+1 from [成绩表$] where 班级=a.班级 and 总分>a.总分) as 总分排名
from [成绩表$]a order by MID(班级,3,LEN(班级)-3)+0,9 DESC
方法二:
select 班级,学生,
语文,(select count(*)+1 from [成绩表$] where 班级=a.班级 and val(语文)>val(a.语文)) as 语文排名,
数学,(select count(*)+1 from [成绩表$] where 班级=a.班级 and val(数学)>val(a.数学)) as 数学排名,
英语,(select count(*)+1 from [成绩表$] where 班级=a.班级 and val(英语)>val(a.英语)) as 英语排名,
总分,(select count(*)+1 from [成绩表$] where 班级=a.班级 and 总分>a.总分) as 总分排名
from [成绩表$]a order by MID(班级,3,LEN(班级)-3)+0,9 DESC
注意:VAL函数有时候并不会起作用,不建议使用.从动画中,我们就可以对比出效果了.方法一在什么时候都适用,方法二有时候VAL并不起作用.
|
评分
-
查看全部评分
|