欢迎来到天天文库
浏览记录
ID:25511576
大小:56.18 KB
页数:2页
时间:2018-11-20
《条sql语句查询出成绩名次 排名》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、一条SQL语句查询出成绩名次排名需求简述:例如我有这样一个成绩表编号姓名成绩 1张三90 2李四85 3王五100 4赵六85 5汪一100 6周九78 7何二56 然后我希望排名次,因为这里有同分,所以必然会出现并列名次。网络上关于并列成绩名次排名有两种方式,其一是这样:A名次姓名成绩 1王五100 1汪一100 3张三90 4赵六85 4李四85 6周九78 7何二56 第二种还是这样:B名次姓名成绩 1王五100 1汪一100 2张三90 3赵六85 3李四85 4周九78 5何二56 SQL语句是一种很实用的技巧,希望和朋友们多
2、交流,现在抛砖引玉把自己的3句SQL语句贴出来共享,抛砖引玉,希望大家多多指教,拍砖的轻点。对于A方式,比较好办,以Access数据库为例(其他数据库语法大同小异,变化一下对应的即可),可以写成这样:SELECTe.placeAS名次,d.nameAS姓名,d.markAS成绩FROM[selecta.id,count(b.id)+1asplacefromscaleftjoinscbona.mark3、计比上面那句效率低点:SELECTe.placeAS名次,d.nameAS姓名,d.markAS成绩FROM[selecta.id,count(iif(b.idisnull,null,b.id))+1asplacefromscaleftjoinscbona.mark4、if(c.markisnull,null,c.mark))+1asplacefrom(selecta.id,b.markfromscaleftjoinscbona.mark
3、计比上面那句效率低点:SELECTe.placeAS名次,d.nameAS姓名,d.markAS成绩FROM[selecta.id,count(iif(b.idisnull,null,b.id))+1asplacefromscaleftjoinscbona.mark4、if(c.markisnull,null,c.mark))+1asplacefrom(selecta.id,b.markfromscaleftjoinscbona.mark
4、if(c.markisnull,null,c.mark))+1asplacefrom(selecta.id,b.markfromscaleftjoinscbona.mark
此文档下载收益归作者所有