SQL销售额连续3天超过100的商品
表: order_detail
字段:order_id sku_id create_date price sku_num
需求:商品销售额连续三天超过100的商品
1 -- 方法一 2 select distinct sku_id from ( 3 select sku_id,create_date,flag 4 ,lead(flag,1,9999) over(partition by sku_id order by create_date) aflag 5 ,lead(flag,2,9999) over(partition by sku_id order by create_date) atflag 6 7 from ( 8 select sku_id,create_date,tonum,if(tonum>=100,1,0) flag from ( 9 select sku_id,create_date,sum(price*sku_num) tonum from order_detailorder_detail 10 group by sku_id,create_date 11 ) a where flag = 1 12 ) b 13 ) c where flag = aflag and aflag = atflag 14 ; 15 16 17 -- 方法二 18 select distinct sku_id from ( 19 select sku_id,afdate from ( 20 select sku_id,create_date,rn,date_sub(create_date,rn) afdate from( 21 22 select sku_id,create_date,tonum, row_number() over(partition by sku_id order by create_date) rn from ( 23 select sku_id,create_date,sum(price*sku_num) tonum from order_detailorder_detail 24 group by sku_id,create_date having sum(price*sku_num) >= 100 25 ) a 26 ) b 27 ) c group by sku_id,afdate having count(*) >= 3 28 ) d
浙公网安备 33010602011771号