如何用SQL解決連續(xù)幾天的問(wèn)題

https://blog.csdn.net/zhenglit/article/details/88063821

統(tǒng)計(jì)下用戶最長(zhǎng)連續(xù)登錄的天數(shù)”,“統(tǒng)計(jì)下連續(xù)登錄超過(guò)10天的用戶”,“統(tǒng)計(jì)下連續(xù)3天交易額超過(guò)100W的店鋪

1. 連續(xù)兩天購(gòu)買的用戶

先按照date將一天多次進(jìn)行去重

row1:按照Date分組,time排序

row2:按照Date和ID分組,time排序

按照ID、row2-row1 分組,重復(fù)次數(shù)大于1

2. 比如連續(xù)2次購(gòu)買的用戶()?

row1:按照? time排序

row2:按照 ID 分組,time排序

按照ID、row2-row1 分組,重復(fù)次數(shù)大于1


2. 連續(xù)2次購(gòu)買蘋果的用戶

row1:按照 time排序

row2:按照ID、商品類型分組,time排序

按照ID、商品類型分組,重復(fù)次數(shù)大于1


3. 連續(xù)2次在淘寶購(gòu)買蘋果的用戶

row1:按照 time排序

row2:按照ID、商品類型、店鋪分組,time排序

按照ID、商品類型、店鋪分組,重復(fù)次數(shù)大于1

select

id ,基本變量1,基本變量2, row2-row1,count(id)

from

(select??id ,基本變量1,基本變量2

row_number() over ( order by time) as row1,

row_number() over (partition by? ??id ,基本變量1,基本變量2 order by time) as row2??

from table

group by 1,2,3

?having count(id)>? 2


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容