求教SQL面試題目 單張表查詢某字段排在第二或第n 1問題?

時間 2021-06-02 18:18:20

1樓:

查詢第幾名篩選前幾的數值,然後公升序排練。篩選出公升序排練第一名的學生的數學成績再根據這個成績去篩選出符合這個數學成績的學生名字。

2樓:明天依燃

菜鳥剛學習,試著做了一下:

第乙個:SELECT Top 1 *

FROM

(SELECT * FROM CHENGJI11 WHERE course='數學'

)dORDER BY SCORE DESC第二個:

SELECT *

FROM

(SELECT ROW_NUMBER()OVER(PARTITION BY COURSE ORDER BY SCORE DESC) XUHAO,

*FROM CHENGJI11

) FWHERE XUHAO=2 AND course='數學'

3樓:

第二問第一步先查出前2的記錄

第二步在第一步的結果裡查出正序的第一條就是了。

如果要查排名第N的記錄,只需要修改第一步裡的2。

4樓:

有幾位朋友已經給過答案了,我也在學習sql過程中,嘗試一下,用了視窗函式,不同視窗函式排序規則不一樣,我想樓主應該是dense_rank()這種排序規則;

select id,name,course,score

from(

select id,name,course,score

,row_number() over (partition by course order by score desc ) as row_number

,rank() over (partition by course order by score desc ) as rank

,dense_rank() over (partition by course order by score desc ) as dense_rank

from temp_mobile.sql_exc

)awhere course='數學' and dense_rank=1 --這裡改幾就可以提取第幾名的資訊

5樓:安靜的站在旁邊

第一種方法:排序後篩選

第二種方法:

1、查出最高分的記錄

2、查出排除最高分記錄剩餘記錄的最高分 score3、查出分值等於score的記錄

6樓:遇事不決斷么九

試試新寫法也不知道可不可以

select

*from

(selectid,

name

,course

,score

,rownumber

()over

(partition

bycourse

order

byscore

desc)as

rank

from

student_score

)where

course

='數學'

andrank=2

網易產品策劃面試題目

符小飯 我來解釋下為什麼第7題理論上選C 這題主要是計算頁面漏斗流失率,註冊 註冊成功 80 支付 支付成功 28.6 登陸 支付成功 44 所以應該是註冊頁和登入頁有問題。前面選B的回答都沒有考慮登陸頁 支付成功頁,事實上這樣的購物流程是存在的,比如京東 從商品詳情頁,到購物車,到訂單支付頁,如果...

Web 前端面試題面試技巧有哪些?

據說hightit的技術認證不錯,可以先去測一下自己的技術水平與企業之間的差距,然後查缺補漏。但是要付費的,不過也很便宜,之前我朋友去認證過,貌似很有幫助。還可以問問面試相關事宜 一定要主動問,不然人家才懶得管你面不面試 特別是面試前去,相當於模擬面試了,一定要面試前去!當然工作後去認證一下了解自己...

這個奇葩的面試題怎麼答?

老布希 標答要點 1 斷然否認 有這些汙點,銀行 gwy等單位不會接受 2 嚴詞討伐 簡要批判這些不良行為,表明自己的價值觀,體現滿滿正能量 3 誠懇表態 以後會注意,無則加勉,盡量表現出你的雍容大度,不凡氣質 虎X二愣子 她 我的高中班主任 沒告訴您我在辦公室門口罵的她狗血淋頭?對,這種丟人的事兒...