SELECT PRODUCT_NAME
,TO_CHAR(TO_DATE(DAYSTR,'YYYY-MM-DD'),'YYYY-MM-DD') DAYSTR
,AVGAMONT
,AMOUNT
FROM (SELECT PRODUCT_NAME
,DAYSTR
,AVGAMONT
,AMOUNT
,COUNT(JISHU) OVER(PARTITION BY PRODUCT_NAME, JISHU) CS
FROM (SELECT PRODUCT_ID
,DAYSTR
,AMOUNT
,ROUND(AVG(AMOUNT) OVER(PARTITION BY PRODUCT_ID),2) AVGAMONT
,DAYSTR - ROW_NUMBER() OVER(PARTITION BY PRODUCT_ID ORDER BY DAYSTR) JISHU
FROM (SELECT PRODUCT_ID
,TO_CHAR(TRADE_DATE, 'YYYYMMDD') DAYSTR
,SUM(AMOUNT) AMOUNT
FROM T05_FACT_TRADE
GROUP BY PRODUCT_ID
,TO_CHAR(TRADE_DATE, 'YYYYMMDD'))
) T1
LEFT JOIN T02_DIM_PRODUCT T2
ON T1.PRODUCT_ID = T2.PRODUCT_ID
WHERE AMOUNT > AVGAMONT)
WHERE CS >2
ORDER BY DAYSTR