a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 數據庫 > 文庫 > 正文

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

2020-10-29 21:50:38
字體:
來源:轉載
供稿:網友

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

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

實現語句:

SELECT 學生,成績, (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的語句確實有一些瑕疵,但是我根據他的語句稍微修改了一下就很完美了。

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

更多請到這里查看評論

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 在线观看日韩一区 | 新91在线视频 | 91精品国产91久久综合桃花 | 久久国产精品一区 | 精品国产乱码久久久久久1区2区 | 日本久草| 久久一区二区三区四区 | 日韩日韩 | 日本精品在线视频 | av三级在线观看 | 在线观看黄色av | 日韩一级免费观看 | 国产第一亚洲 | 99国产视频| 欧美视频在线观看 | 欧美日韩国产高清 | 亚洲国产精久久久久久久 | k8久久久一区二区三区 | 国产精品一区视频 | av网站免费观看 | 美日一级毛片 | 老黄网站在线观看 | 日韩精品亚洲一区 | 激情久久久久 | 亚洲第一国产精品 | 99精品国产在热久久 | 在线日韩视频 | 韩国精品 | 久久久久一区二区 | 99视频免费观看 | 黑人巨大精品欧美一区二区免费 | 综合网视频 | 妞干网福利视频 | 国外成人在线视频网站 | 一区二区网站 | 国产欧美在线观看 | 久国久产久精永久网页 | 美女国产精品 | aⅴ色国产 欧美 | 亚洲欧洲在线观看 | 色综合久久88色综合天天 |