SQL连表更新多个平均值字段

UPDATE res2_product AS a LEFT JOIN (SELECT
    pro_id,
    IF(
        SUM( transaction_date > DATE_SUB( CURRENT_DATE, INTERVAL 8 DAY ) ), 
        SUM( IF ( transaction_date > DATE_SUB( CURRENT_DATE, INTERVAL 8 DAY ), transaction_quantity, 0 ) ) / SUM( transaction_date > DATE_SUB( CURRENT_DATE, INTERVAL 8 DAY ) ),
        0)
         AS avg_stock_7,
    AVG( transaction_quantity ) AS avg_stock_30 
FROM
    get2_transaction_daily 
WHERE
    transaction_date > DATE_SUB( CURRENT_DATE, INTERVAL 31 DAY ) GROUP BY pro_id) AS b ON a.pro_id = b.pro_id SET a.avg_stock_7 = IFNULL(b.avg_stock_7, 0), a.avg_stock_30 = IFNULL(b.avg_stock_30, 0)

上一篇:[Unity3d]Unity系统自带函数生命周期以及相互关系


下一篇:46深入聚合数据分析_颜色+品牌下钻分析时按最深层metric进行排序