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

下面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(发放的餐馆是否使用优惠券,"使用优惠券","未使用优惠券")

MySQL业务-发放的优惠券 用户使用情况_20161028的更多相关文章

  1. MySQL 如何更改某一用户及伞下成员的path

    MySQL  如何更改某一用户及伞下成员的path 在有的系统中,推荐关系的维护不只是pid那么简单,为了某些业务,可能还会需要维护path字段,path字段的存在,优点在于查询方便,最起码不用递归了 ...

  2. mysql颠覆实战笔记(二)-- 用户登录(一):唯一索引的妙用

    版权声明:笔记整理者亡命小卒热爱自由,崇尚分享.但是本笔记源自www.jtthink.com(程序员在囧途)沈逸老师的<web级mysql颠覆实战课程 >.如需转载请尊重老师劳动,保留沈逸 ...

  3. Google Analytics for Firebase 是一款免费的应用评估解决方案,可提供关于应用使用和用户互动情况的数据分析

    Google Analytics for Firebase Google Analytics for Firebase 是一款免费的应用评估解决方案,可提供关于应用使用和用户互动情况的数据分析.Fir ...

  4. 删除MYSQL账号多于的空用户

    默认情况下,mysql安装好之后,会存在匿名用户,也可以叫空用户,输入mysql之后直接回车便可进入mysql. 该匿名用户具有一定的权限,通过SHOW DATABASES;可以查看到informat ...

  5. 导致“mysql has gone away”的两种情况

    导致“mysql has gone away”的两种情况 By Cruise 1.  wait_timeout参数 在开发代理server时, 我使用了jdbc连接数据库,并采用长连接的方式连接数据库 ...

  6. mysql颠覆实战笔记(三)-- 用户登录(二):保存用户操作日志的方法

    版权声明:笔记整理者亡命小卒热爱自由,崇尚分享.但是本笔记源自www.jtthink.com(程序员在囧途)沈逸老师的<web级mysql颠覆实战课程 >.如需转载请尊重老师劳动,保留沈逸 ...

  7. mysql、添加和删除用户、添加权限

    创建用户      mysql>insert into mysql.user(Host,User,Password) values("localhost","tes ...

  8. 同一个PC只能运行一个应用实例(考虑多个用户会话情况)

    原文:同一个PC只能运行一个应用实例(考虑多个用户会话情况) class Program { private static Mutex m; [STAThread] static void Main( ...

  9. mysql 不同索引的区别和适用情况总结

    最近在做sql优化,看到一篇有关sql索引不错的文章,转载一下. 一.索引类型 普通索引:INDEX 允许出现相同的索引内容 (normal) 唯一索引:UNIQUE 不可以出现相同的值,可以有NUL ...

随机推荐

  1. 26:IPMaskCheck识别有效的ip地址和掩码并分类统计

    题目描述 请解析IP地址和对应的掩码,进行分类识别.要求按照A/B/C/D/E类地址归类,不合法的地址和掩码单独归类. 所有的IP地址划分为 A,B,C,D,E五类 A类地址1.0.0.0~126.2 ...

  2. Redis(十):使用RedisTemplate执行Redis脚本

    对于Redis脚本使用过的同学都知道,这个主要是为了防止竞态条件而用的.因为脚本是顺序执行的.(不用担心效率问题)比如我在工作用,用来设置考试最高分. 如果还没有用过的话,先去看Redis脚本的介绍, ...

  3. modelsim-altera

    一. 1.  Go to the menu Tools > Options.  2.  In the “General” category, select “EDA Tool Options”. ...

  4. java String概述

    class StringDemo { public static void main(String[] args)  {  String s1 = "abc";//s1 是一个类类 ...

  5. 【打CF,学算法——一星级】Codeforces Round #313 (Div. 2) A. Currency System in Geraldion

    [CF简单介绍] 提交链接:http://codeforces.com/contest/560/problem/A 题面: A. Currency System in Geraldion time l ...

  6. 查看SELinux状态并关闭SELinux

    SELinux(Security-Enhanced Linux)是Linux上最杰出的新安全子系统.在linux内核级别上提供了一个灵活的强制访问控制系统(MAC),这个强制访问控制系统是建立在自由访 ...

  7. sizeof运用

    解析:ss1是一个字符指针,指针的大小是一个定值,就是4字节,所以sizeof(ss1)是4字节.ss2是一个字符数组,这个数组最初未定大小,由具体填充值来定.填充值是“0123456789”.1个字 ...

  8. 五个知识体系之-SQL语句大全

    一.基础 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备 ...

  9. springcloud微服务实战--笔记--1、基础知识

    微服务的问题: 分布式事务和数据一致性. 由于分布式事务本身第实现难度就非常大,所以在微服务架构中,我们更强调在各服务之间进行无事务第调用,而对于数据一致性,只要求数据在最后第处理状态是一致第即可:若 ...

  10. Eclipse打jar包的方法

    1.准备主清单文件 “MANIFEST.MF” Manifest-Version: 1.0 Class-Path: lib/commons-codec.jar lib/commons-httpclie ...