怎么用SQL语句实现排名次?

上面是用VFP语言实现的排名次,请问高手们用SQL语句怎么实现啊?网上找了很多也没实现。望能解答详细点,先谢了!!

SELECT zf,(SELECT count(*)+1 FROM 成绩表 WHERE a.zf<zf) as jmc FROM 成绩表 as a
加个kh字段 SELECT kh,zf,(SELECT count(*)+1 FROM 成绩表 WHERE a.zf<zf) as jmc FROM 成绩表 as a into curs lsb scan upda 表 set jmc=lsb.jmc where allt(kh)=allt(lsb.kh) ends