最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

只有兩個字段用一個sql語句查詢出某個學(xué)生的姓名、成績以及在表中的排名

 更新時間:2014年08月17日 10:51:07   投稿:mdxy-dxy  
這篇文章主要介紹了只有兩個字段用一個sql語句查詢出某個學(xué)生的姓名、成績以及在表中的排名,需要的朋友可以參考下

昨天去面試時遇到一個這樣的問題:

有一張成績表,只有兩個字段,姓名和成績。怎樣用一個sql語句查詢出某個學(xué)生的姓名,成績以及在表中的排名?
一時間我也想不出具體實現(xiàn),我就提了兩種思路:一種是通過join關(guān)聯(lián)一個查詢出他排名的sql語句;一種是通過group by來實現(xiàn)。
回答得連自己都覺得有點心虛。請問大家如何實現(xiàn)呢?
假設(shè):表名字為Course,兩個字段分別為name和score

實現(xiàn)語句:

SELECT 學(xué)生,成績, 
(SELECT COUNT(*) FROM 表 WHERE a.成績<=成績) AS 排名 
FROM 表 AS a

方法二:

declare @Course table(name varchar(100),cj int) 
insert into @Course 
select 'a',99 
union all 
select 'b',66 
union all 
select 'c',88 
select * from ( 
select (select 1+count(name) from @Course where cj>t.cj) mc,name,cj 
from @Course t 
) tem 
where name='b'

如果有成績相同的記錄的時候,goodspeed的語句確實有一些瑕疵,但是我根據(jù)他的語句稍微修改了一下就很完美了。

SELECT name,score, 
(SELECT COUNT(*)+1 FROM course WHERE a.score<score) AS sort 
FROM course AS a order by sort

更多請到這里查看評論

相關(guān)文章

最新評論

龙口市| 玉田县| 广南县| 曲松县| 和政县| 右玉县| 新昌县| 金溪县| 玉树县| 杭锦后旗| 类乌齐县| 花莲市| 襄垣县| 依安县| 裕民县| 博湖县| 保山市| 邮箱| 调兵山市| 介休市| 涟源市| 泰来县| 深圳市| 永昌县| 泗洪县| 宁海县| 兰考县| 普格县| 安平县| 桂阳县| 华池县| 东乌珠穆沁旗| 保靖县| 专栏| 固始县| 岳普湖县| 罗山县| 襄城县| 永城市| 雷山县| 靖远县|