国产探花免费观看_亚洲丰满少妇自慰呻吟_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

更多請到這里查看評論

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 甘谷县| 孝义市| 曲阜市| 武义县| 大洼县| 康平县| 武宣县| 新邵县| 上栗县| 青河县| 商水县| 太原市| 仪陇县| 鄢陵县| 从化市| 文山县| 襄垣县| 无棣县| 湘乡市| 桃江县| 泰安市| 甘南县| 石台县| 寿阳县| 读书| 德昌县| 民县| 松溪县| 海林市| 石家庄市| 台江县| 佳木斯市| 五台县| 长泰县| 韶关市| 宁阳县| 洛扎县| 香港| 平塘县| 阳东县| 湖州市|