• MySQL业务-发放的优惠券 用户使用情况_20161028


    运营部门给用户发放优惠券,如果想监控优惠券的使用效果 优惠券使用率是个反映效果的很好指标

    下面sql就是针对某天对特定用户发放的优惠券在发放日期以后每天的使用情况

    SELECT e.城市,e.用户ID,i.联系电话,h.订单日期,h.订单ID,h.销售员,h.订单额,e.优惠券ID,e.优惠券名称,CASE WHEN h.优惠额 IS NULL THEN "未使用优惠券" ELSE "使用优惠券" END AS 发放的餐馆是否使用优惠券,e.优惠券档位,h.优惠额
    FROM (
        SELECT a1.城市,a1.用户ID,DATE(a1.发放日期) AS 发放日期,a1.优惠券ID,a1.优惠券名称,RIGHT(a1.优惠券名称,CHAR_LENGTH(a1.优惠券名称)-CHAR_LENGTH(LEFT(a1.优惠券名称,INSTR(a1.优惠券名称,"【")-1))) AS 优惠券档位
        FROM `a015_customer_coupon` AS a1
        WHERE a1.城市="杭州" AND a1.发放日期>="2016-10-23" AND a1.发放日期<"2016-10-26" AND a1.优惠券ID>=939 AND a1.优惠券ID<=951 
        GROUP BY a1.用户ID
    ) AS e
    LEFT JOIN (
        SELECT f.*,g.优惠券ID,g.优惠券名称,g.优惠额
        FROM (
            SELECT f1.城市,f1.用户ID,DATE(订单日期) AS 订单日期,f1.订单ID,f1.销售员,SUM(金额) AS 订单额
            FROM `a003_order` AS f1 
            WHERE f1.金额>0 AND  f1.订单日期 >="2016-10-25" AND f1.订单日期<"2016-11-20" 
            GROUP BY f1.订单ID
            ) AS f 
            LEFT JOIN (
                SELECT b1.城市,DATE(b1.使用时间) AS 使用日期,b1.用户ID,b1.订单号,b1.优惠券ID,b1.优惠券名称,SUM(b1.优惠券金额) AS 优惠额
                FROM `a016_order_customercoupon_xref`AS b1
                WHERE b1.城市="杭州" AND b1.使用时间>="2016-10-25" AND b1.使用时间<"2016-11-20" AND b1.优惠券ID>=939 AND b1.优惠券ID<=951 
                GROUP BY b1.订单号
            ) AS g ON g.订单号=f.订单ID
    ) AS h ON e.用户ID=h.用户ID
    LEFT JOIN `a001_resterant` AS i ON i.用户ID=e.用户ID
    WHERE e.优惠券档位<>"无优惠券" 
    ORDER BY FIELD(发放的餐馆是否使用优惠券,"使用优惠券","未使用优惠券")
  • 相关阅读:
    C++实现数字媒体三维图像渲染
    C++实现数字媒体三维图像变换
    C++实现数字媒体二维图像变换
    C++实现glut绘制点、直线、多边形、圆
    语音识别之梅尔频谱倒数MFCC(Mel Frequency Cepstrum Coefficient)
    Java中的BigDecimal类精度问题
    spring 手册
    bootstrap 参考文档
    springBoot入门文章
    JNDI
  • 原文地址:https://www.cnblogs.com/Mr-Cxy/p/6012755.html
Copyright © 2020-2023  润新知