国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

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

只有兩個字段用一個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

更多請到這里查看評論

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 河西区| 轮台县| 新营市| 余姚市| 山西省| 卢湾区| 宜君县| 驻马店市| 监利县| 林西县| 高要市| 华亭县| 肇源县| 松原市| 德安县| 常州市| 社会| 花莲市| 临澧县| 翁牛特旗| 汾西县| 神农架林区| 牡丹江市| 三原县| 双辽市| 陆丰市| 称多县| 唐山市| 武平县| 西峡县| 凭祥市| 黄平县| 天峻县| 普定县| 台东市| 新竹县| 湟中县| 长垣县| 文安县| 南丹县| 繁峙县|