回复 24楼 yafengliang
*总结分类排名问题,VFP9.0语法
create cursor 考试(学生 c(10),学科 c(10),成绩 n(6,2))
insert into 考试 ;
select '张三','语文',90 union all ;
select '李四','语文',90 union all ;
select '王五','语文',85 union all ;
select '赵六','语文',80 union all ;
select '陈七','语文',85 union all ;
select '张三','数学',91 union all ;
select '李四','数学',90 union all ;
select '王五','数学',85 union all ;
select '赵六','数学',80 union all ;
select '陈七','数学',85 union all ;
select '张三','英语',92 union all ;
select '李四','英语',93 union all ;
select '王五','英语',85 union all ;
select '赵六','英语',93 union all ;
select '陈七','英语',85
* 1.按学科,成绩排名,相同名次时,排名往后排,如2个第3名时,并排第4
select a1.学科,a1.学生,a1.成绩, ;
(select count(成绩) from 考试 where 学科=a1.学科 and 成绩>=a1.成绩) as 名次 ;
from 考试 a1 ;
order by 学科,名次 asc
* 2.按学科,成绩排名,相同名次时,排名往前排,如2个第3名时,并排第3
select a1.学科,a1.学生,a1.成绩, ;
(select count(成绩)+1 from 考试 where 学科=a1.学科 and 成绩>a1.成绩) as 名次 ;
from 考试 a1 ;
order by 学科,名次 asc