二維碼
企資網

掃一掃關注

當前位置: 首頁 » 企資快報 » 商業 » 正文

你能連續讀書多少天?

放大字體  縮小字體 發布日期:2022-06-07 15:42:39    作者:微生希亞    瀏覽次數:17
導讀

【面試題】有一張“閱讀記錄表”,包含2個字段:用戶id、閱讀日期。查詢3月份以來,連續閱讀5天及以上得用戶名單。【解題步驟】1. 連續問題得萬事都有可能模板我在《拼多多面試題:如何找出連續出現N次得內容?》里

【面試題】

有一張“閱讀記錄表”,包含2個字段:用戶id、閱讀日期。

查詢3月份以來,連續閱讀5天及以上得用戶名單。

【解題步驟】

1. 連續問題得萬事都有可能模板

我在《拼多多面試題:如何找出連續出現N次得內容?》里講過遇到“連續問題”如何解決,并送出了一個萬事都有可能模板,模板使用得是窗口函數解決連續問題。

2. 窗口函數

窗口函數lead使用方法:

默認值是指:當向上N行或者向下N行值時,如果已經超出了表行和列得范圍時,會將這個默認值作為函數得返回值,若沒有指定默認值,則返回Null。

窗口函數lead可以獲取每個字段得后面得第n個值,并生成新得一列。

查詢結果:

3. 子查詢

基于窗口函數lead獲取得結果,要篩選出連續閱讀5天及以上得用戶名單。

只需要滿足以下條件:

1)“后面第1個日期”與“閱讀日期”差1天;

2)“后面第2個日期”與“閱讀日期”差2天;

3)“后面第3個日期”與“閱讀日期”差3天;

4)“后面第4個日期”與“閱讀日期”差4天。

一個用戶同時滿足上面4個條件,說明:該用戶至少一次連續閱讀了5天。

以上條件得過濾可以使用date_sub函數:獲取某個日期前n天得日期。

最終結果為:

查詢結果:

【本題考點】

1.考查對窗口函數得了解;

2.考查對子查詢得了解;

3.考查對連續問題得了解,可以套用萬事都有可能模板。

推薦:從零學會SQL?

 
(文/微生希亞)
免責聲明
本文僅代表作發布者:微生希亞個人觀點,本站未對其內容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內容,一經發現,立即刪除,需自行承擔相應責任。涉及到版權或其他問題,請及時聯系我們刪除處理郵件:weilaitui@qq.com。
 

Copyright ? 2016 - 2025 - 企資網 48903.COM All Rights Reserved 粵公網安備 44030702000589號

粵ICP備16078936號

微信

關注
微信

微信二維碼

WAP二維碼

客服

聯系
客服

聯系客服:

在線QQ: 303377504

客服電話: 020-82301567

E_mail郵箱: weilaitui@qq.com

微信公眾號: weishitui

客服001 客服002 客服003

工作時間:

周一至周五: 09:00 - 18:00

反饋

用戶
反饋

日韩欧美国产免费看清风阁