一、11.16到21号活动规则是 单笔订单最高的金额划分客户为399,799,1599元三档 达标的分别赠送对应的优惠券 优惠券ID有标号区间

SELECT a.*,CASE WHEN 金额<399 THEN "无优惠券" WHEN 金额>=399 AND 金额<799 THEN "399档" WHEN 金额>=799 AND 金额<1599 THEN "799档" WHEN 金额>=1599 THEN "1599档" ELSE NULL END AS 档位,b.联系电话
FROM (
SELECT 城市,用户ID,用户名称,DATE(订单日期) AS 订单日期,订单ID AS 单笔最高订单ID,销售员,SUM(金额) AS 金额
FROM a003_order
WHERE 城市='杭州' AND 订单日期>="2016-11-16" AND 订单日期<"2016-11-22" AND 金额>0 #and 用户ID=57012
GROUP BY 订单ID
ORDER BY 用户ID,SUM(金额) DESC
) AS a
LEFT JOIN a001_resterant AS b ON a.用户ID=b.用户ID
GROUP BY a.用户ID
ORDER BY 金额 DESC

二、由于达标客户会分多张优惠券 因此我们将发放优惠券表和使用优惠券表连接起来 以发放表为主表 后面表为从表

这样可以查看给每个用户每张优惠券在未来一段时间内的使用情况

SELECT a.*,b.使用日期,b.订单号,b.下单金额,CASE WHEN b.订单号 IS NULL THEN "未使用" ELSE "使用" END AS 优惠券使用状态
FROM (#发放的用户明细 一个用户分配多个优惠券ID
SELECT 城市,DATE(发放日期) AS 发放日期,用户ID,用户名称,优惠券ID,优惠券名称
,RIGHT(LEFT(优惠券名称,INSTR(优惠券名称,"档")-0),CHAR_LENGTH(LEFT(优惠券名称,INSTR(优惠券名称,"档")-0))-CHAR_LENGTH(LEFT(优惠券名称,INSTR(优惠券名称,"【")))) AS 档位,金额 AS 优惠券金额
FROM a015_customer_coupon
WHERE 城市='杭州' AND 发放日期>="2016-11-23" AND 优惠券ID>=1165 AND 优惠券ID<=1178 AND 状态<>'已失效'
) AS a
LEFT JOIN (#每个优惠券ID使用情况
SELECT 城市,DATE(使用时间) AS 使用日期,用户ID,用户名称,订单号,下单金额,优惠券ID,优惠券名称,RIGHT(LEFT(优惠券名称,INSTR(优惠券名称,"档")-0),CHAR_LENGTH(LEFT(优惠券名称,INSTR(优惠券名称,"档")-0))-CHAR_LENGTH(LEFT(优惠券名称,INSTR(优惠券名称,"【")))) AS 档位,优惠券类别,优惠券金额
FROM a016_order_customercoupon_xref
WHERE 城市='杭州' AND 使用时间<CURRENT_DATE AND 使用时间>="2016-11-23" AND 使用时间<"2016-12-16" AND 优惠券ID>=1165 AND 优惠券ID<=1178
) AS b ON a.用户ID=b.用户ID AND a.优惠券ID=b.优惠券ID
WHERE a.用户ID IN (
SELECT 用户ID
FROM a015_customer_coupon
WHERE 城市='杭州' AND 发放日期>="2016-11-23" AND 优惠券ID>=1165 AND 优惠券ID<=1178 AND 状态<>'已失效'
)
ORDER BY 优惠券使用状态,b.使用日期

三、使用率:用excel countifs 计算

MySQL11月16-11月21日活动赠送的优惠券使用率_20161124的更多相关文章

  1. 2014年11月17~11月18日,杨学明老师《企业IT需求收集和实施》内训在湖南长沙某酒店成功举办!

    2014年11月17至18日,受湖南某软件企业的邀请,杨学明老师<企业IT需求收集和实施>内训在某长沙某五星级酒店成功举办!来自全国各地的IT高管和企业负责人参加了此次培训.杨学明老师分别 ...

  2. java编程基础篇-------> 从键盘输入一位整数,代表月份,编程判断指定月份属于一年中的哪个季度。如果是 12 月、1 月、2 月,就属于冬季。

    从键盘输入一位整数,代表月份,编程判断指定月份属于一年中的哪个季度.如果是 12月.1 月.2 月,就属于冬季:如果是 3 月.4 月.5 月,就属于春季:如果是 6 月.7 月.8 月,就属于夏季: ...

  3. 2016年12月16日 星期五 --出埃及记 Exodus 21:11

    2016年12月16日 星期五 --出埃及记 Exodus 21:11 If he does not provide her with these three things, she is to go ...

  4. 2016年12月21日 星期三 --出埃及记 Exodus 21:16

    2016年12月21日 星期三 --出埃及记 Exodus 21:16 "Anyone who kidnaps another and either sells him or still h ...

  5. 11月16日《奥威Power-BI基于SQL的存储过程及自定义SQL脚本制作报表》腾讯课堂开课啦

           上周的课程<奥威Power-BI vs微软Power BI>带同学们全面认识了两个Power-BI的使用情况,同学们已经迫不及待想知道这周的学习内容了吧!这周的课程关键词—— ...

  6. 2016年11月30日 星期三 --出埃及记 Exodus 20:21

    2016年11月30日 星期三 --出埃及记 Exodus 20:21 The people remained at a distance, while Moses approached the th ...

  7. 2016年11月25日 星期五 --出埃及记 Exodus 20:16

    2016年11月25日 星期五 --出埃及记 Exodus 20:16 "You shall not give false testimony against your neighbor.不 ...

  8. 2016年11月21日 星期一 --出埃及记 Exodus 20:12

    2016年11月21日 星期一 --出埃及记 Exodus 20:12 "Honor your father and your mother, so that you may live lo ...

  9. 2016年11月16日 星期三 --出埃及记 Exodus 20:7

    2016年11月16日 星期三 --出埃及记 Exodus 20:7 "You shall not misuse the name of the LORD your God, for the ...

随机推荐

  1. StringBuilder作用

    String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然 ...

  2. Laravel 5.4的本地化

    简介 Laravel 的本地化功能提供方便的方法来获取多语言的字符串,让你的网站可以简单的支持多语言. 语言包存放在 resources/lang 目录下的文件里.在此目录中应该有应用对应支持的语言并 ...

  3. HDU BestCoder Round #1 1002 项目管理

    项目管理 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  4. dede频道标签channel和频道内容标签channelartlist的调用栏目名的不同方式,如果错误使用标签会发生错误

    频道标签 [field:typename/] 频道内容标签 {dede:field name='typename'/}

  5. 淘宝数据库OceanBase SQL编译器部分 源代码阅读--解析SQL语法树

    OceanBase是阿里巴巴集团自主研发的可扩展的关系型数据库,实现了跨行跨表的事务,支持数千亿条记录.数百TB数据上的SQL操作. 在阿里巴巴集团下,OceanBase数据库支持了多个重要业务的数据 ...

  6. C#与Java在修饰符上的不同

    1.readonly 修饰符仅用于修饰类的数据成员.正如其名字说的,一旦它们已经进行了写操作.直接初始化或在构造函数中对其进行了赋值,数据成员就只能对其进行读取. readonly 和 const 数 ...

  7. ClassNotFoundException Log

    Studio 运行时异常: Error:Execution failed for task ':app:compileDebugJavaWithJavac'.> Compilation fail ...

  8. EntityFramework走马观花之CRUD(下)

    我在Entity Framework系列文章的CRUD上篇中介绍了EF的数据查询,中篇谈到了EF的数据更新,下篇则聊聊EF实现CRUD的内部原理. 跟踪实体对象状态 在CRUD上篇和中篇谈到,为了实现 ...

  9. ScrollView分析

    本文转载至 http://blog.sina.com.cn/s/blog_a843a8850101dsg5.html   Properties alwaysBounceHorizontal       ...

  10. 14、AppWidget及Launcher RemoteViews

    一.Launcher的简单研究 1 什么是Launcher Android系统启动后加载的第一个程序 . 这个程序是其他应用程序的入口 . Launcher构成: HomeScreen : (Work ...