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

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

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

更多請到這里查看評論

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 禁止的爱善良的未删减版hd | 日韩欧美色| 秒播影视 午夜福利毛片 | 欧美作爱福利免费观看视频 | 好大好猛好爽好深视频免费 | 日本制服丝袜 | 国产精品久久国产三级国电话系列 | 被夫上司侵犯了中文字幕 | 99这里都是精品 | 小兰被扒开内裤露出p | 无码人妻视频又大又粗欧美 | 美女精品永久福利在线 | 草莓视频在线免费观看 | 干b视频在线观看 | 毛片a级放荡的护士hd | 欧美日韩亚洲第一区在线 | 日本高清va不卡视频在线观看 | 成人私人影院在线观看网址 | 成人性色生活片免费网 | 王淑兰李思雨李铁柱乡村小说免费 | 亚洲麻豆精品果冻传媒 | 色视频久久 | 激情五月开心 | 国产欧美一区二区成人影院 | 久久热这里面只有精品 | 欧美兽皇另类 | 微拍秒拍99福利精品小视频 | chinesemature精品 chinesefree普通对话 | 成人网免费视频 | 色在线亚洲视频www 色欲麻豆国产福利精品 | 87影院在线观看视频在线观看 | 小sao货水好多真紧h的视频 | 欧美日本一本线在线观看 | 女人把私密部位张开让男人桶 | 99热久久这里只精品国产www | 日本无卡无吗中文免费 | 深夜在线网址 | 天天久久综合网站 | 大胆暴露亚洲美女xxxx | 91碰碰 | 国产在线看片网站 |