一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - 數據庫技術 - 只有兩個字段用一個sql語句查詢出某個學生的姓名、成績以及在表中的排名

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

2021-10-20 17:25SQL教程網 數據庫技術

這篇文章主要介紹了只有兩個字段用一個sql語句查詢出某個學生的姓名、成績以及在表中的排名,需要的朋友可以參考下

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

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

實現語句:

?
1
2
3
SELECT 學生,成績,
(SELECT COUNT(*) FROM WHERE a.成績<=成績) AS 排名
FROM AS a

方法二:

?
1
2
3
4
5
6
7
8
9
10
11
12
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的語句確實有一些瑕疵,但是我根據他的語句稍微修改了一下就很完美了。

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

更多請到這里查看評論

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 男人的j插入女人的p | 免费一级毛片在级播放 | 欧美影院一区二区三区 | 日本免费v片一二三区 | 爱情岛论坛亚洲品质自拍视频 | 亚洲网站大全 | 特色特色大片在线 | 娇小XXXXX第一次出血 | 无人区免费一二三四乱码 | 无遮挡免费h肉动漫在线观看 | 福利一区在线观看 | 99热精品在线播放 | 女同志freelesvoices | 性欧美金发洋妞xxxxbbbb | 91桃色污| 精品AV亚洲乱码一区二区 | 成年男女免费视频网站 | 亚洲国产无线码在线观看 | 亚洲高清中文字幕 | 91久久精品国产亚洲 | 校园高h | 天天干天天操天天碰 | 日韩性公交车上xxhd免费 | 2021海角社区最新版 | 久久精品18 | 国产高清经典露脸3p | 久久久久影视 | 久久艹综合 | 国产在线视频欧美亚综合 | 精品久久免费视频 | 欧美老肥妇bbb | 男人猛激烈吃奶gif动态图 | 亚洲国产精品综合久久一线 | 免费大片a一级一级 | 91动漫在线观看 | 日本在线亚州精品视频在线 | 日本一级不卡一二三区免费 | 日本加勒比无码av | 四虎在线永久免费视频网站 | 被黑人日 | 欧美又黄又激烈真实床戏 |