柚子快報(bào)邀請(qǐng)碼778899分享:數(shù)據(jù)庫(kù) SQL常見函數(shù)整理
柚子快報(bào)邀請(qǐng)碼778899分享:數(shù)據(jù)庫(kù) SQL常見函數(shù)整理
1. 用法 是在窗口函數(shù)中使用的函數(shù),它用于獲取當(dāng)前行的下一行(后一行)的某個(gè)列的值。具體來(lái)說(shuō),LEAD() 函數(shù)可用于查找任何給定行的下一行(后一行)的值,同時(shí)也可控制行數(shù)偏移量(offset)和默認(rèn)值(default value)。
2. 基本語(yǔ)法
LEAD ( column [, offset [, default_value ]])
OVER ( [ ORDER BY clause ] )
column 參數(shù):指定要獲取其值的列名稱offset 參數(shù):指定要偏移的行數(shù)default_value 參數(shù):指定如果無(wú)法找到下一行,則使用的默認(rèn)值ORDER BY子句:用于指定窗口中的行順序
3. 實(shí)際應(yīng)用 假設(shè)今天的日期是 ‘2021-1-1’ 。 編寫解決方案,對(duì)于每個(gè) user_id ,求出每次訪問(wèn)及其下一個(gè)訪問(wèn)(若該次訪問(wèn)是最后一次,則為今天)之間最大的空檔期天數(shù) window 。 返回結(jié)果表,按用戶編號(hào) user_id 排序。 結(jié)果格式如下示例所示:
select user_id,max(diff) as biggest_window
from (select user_id,visit_date
,datediff(day,visit_date,lead(visit_date ,1 ,'2021-01-01') over(partition by user_id order by visit_date) ) as Diff
from UserVisits ) a
group by user_id
order by user_id
柚子快報(bào)邀請(qǐng)碼778899分享:數(shù)據(jù)庫(kù) SQL常見函數(shù)整理
參考閱讀
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。