欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報邀請碼778899分享:數(shù)據(jù)庫 SQL 窗口函數(shù)

柚子快報邀請碼778899分享:數(shù)據(jù)庫 SQL 窗口函數(shù)

http://yzkb.51969.com/

1.窗口函數(shù)之排序函數(shù)

RANK, DENSE_RANK, ROW_NUMBER

RANK函數(shù) 計算排序時,如果存在相同位次的記錄,則會跳過之后的位次 有 3 條記錄排在第 1 位時: 1 位、1 位、1 位、4 位…DENSE_RANK函數(shù) 同樣是計算排序,即使存在相同位次的記錄,也不會跳過之后的位次 有 3 條記錄排在第 1 位時: 1 位、1 位、1 位、2 位ROW_NUMBER函數(shù) 賦予唯一的連續(xù)位次。 例)有 3 條記錄排在第 1 位時: 1 位、2 位、3 位、4 位

語法 <窗口函數(shù)> OVER ([PARTITION BY <列清單>] ORDER BY <排序用列清單>)

根據(jù)分?jǐn)?shù)對學(xué)生從高到低排名,不對科目進(jìn)行分組,成績相同則排名相同并且位次連續(xù)

SELECT student_name, score, DENSE_RANK() OVER(ORDER BY score DESC) AS 'rank' FROM grade;

根據(jù)分?jǐn)?shù)對同科目的學(xué)生從高到低排名,成績相同,排名不相同

SELECT student_name, score, ROW_NUMBER() OVER(PARTITION BY course_name ORDER BY score DESC) AS 'rank' FROM grade;

窗口函數(shù)使用場景

1.直接排序:按照某列對數(shù)據(jù)進(jìn)行排序 2.Top-k:查詢排名TOP-k的數(shù)據(jù) 3.最值問題:查詢最大、最多的數(shù)據(jù) 4.輔助列:比如計算連續(xù)登陸問題、用SQL計算平均數(shù)、眾數(shù)、中位數(shù)(可以參考我之前的視頻)

2.窗口函數(shù)之分析函數(shù)

1.lead():將數(shù)據(jù)進(jìn)行位移,把數(shù)據(jù)從下向上推,下端出現(xiàn)空格

2.lag():將數(shù)據(jù)進(jìn)行位移,把數(shù)據(jù)從上向下推,上端出現(xiàn)空格

語法 lead(column, offset, default) OVER(ORDER BY column) 例題:

180.連續(xù)出現(xiàn)的數(shù)字

思路:使用lead函數(shù),將當(dāng)前數(shù)后面一個和兩個的數(shù)進(jìn)行選取,然后對比

select distinct a.num as ConsecutiveNums from (

select num,id,

lead(num,1) over (order by id) as ne,

lead(num,2) over (order by id) as nene,

lead(id,1) over (order by id) as id1,

lead(id,2) over (order by id) as id2 from Logs

) a where a.num=a.ne and a.ne=a.nene and a.id+1=a.id1 and a.id1+1=a.id2

# 判斷條件為3個num的值要相等,并且這3個數(shù)的id要連續(xù)

柚子快報邀請碼778899分享:數(shù)據(jù)庫 SQL 窗口函數(shù)

http://yzkb.51969.com/

推薦文章

評論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://m.gantiao.com.cn/post/19003601.html

發(fā)布評論

您暫未設(shè)置收款碼

請在主題配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問

文章目錄