计算一些数不难,整体来说还是要培养自我的逻辑意识,逻辑清楚,代码自然而然就知道,总体上训练自己的逻辑,一个是从用户角度,一个是从产品角度。

用户角度需要考虑的是用户的活跃度,具体又可以细分为用户的注册日期,下单间隔,用户各个时间维度的订单数,订单额,等等

产品角度考虑产品分类,产品品牌,产品供应商角度等等。

今天一个需求是谈及一些品牌合作商合作,需要要一些数据,统计锦3个月的销量和金额,采购部门提供了一些品牌。

如果按照传统上出数,只需要在where 条件中加上 品牌 in (品牌1,品牌2,品牌3 等等) 只给他这些数据可以实现,不过如果下次他要考察这次品牌之外的数据 是不是还得修改where 条件去限制  不仅如此 where in 这些条件限制 打出来也比较麻烦

比较好的逻辑是把所有品牌的金3个月的明细汇总调出来,通过excel sumif    sumifs 函数 

品牌汇总的SQL 如下 数据经过修改

SELECT d.ID,c.城市,c.品牌名称,c.年月,COUNT(c.产品ID) AS SKU数,SUM(订单额) AS 订单额,SUM(打包量) AS 打包量
FROM (
SELECT a.城市,a.产品ID,a.产品名称,b.品牌名称,DATE_FORMAT(a.订单日期,"%Y%m") AS 年月,SUM(a.金额) AS 订单额,SUM(`汇总打包量`) AS 打包量
FROM `a003_order` AS a
LEFT JOIN `a002_sku` AS b ON a.产品ID=b.产品ID
WHERE a.订单日期>="2016-08-01" AND a.订单日期<"2016-11-01" AND a.金额>0
GROUP BY a.城市,a.产品ID,DATE_FORMAT(a.订单日期,"%Y%m")
) AS c
LEFT JOIN `a000_city` AS d ON d.城市=c.城市
GROUP BY c.城市,c.品牌名称,c.年月
ORDER BY d.ID,c.年月

excel:品牌汇总sheet表 数据

这个excel sheet表里品牌不只有ABCD4个品牌,而是多个品牌

我们按照下面格式展现数据,运用刚刚提到的两个函数

以后如果他想看什么品牌的 什么时间段的 我们只需要修改where 时间限制就可以 同时把需要展现的品牌替换掉就可以了

 sumif()公式:=SUMIF(品牌汇总!$C:$C,数据!$B4,品牌汇总!G:G)   也就是(条件区域A,条件B,求和区域C) 其中条件B在条件区域A内 

也就是求条件B的求和区域C的和

品牌汇总!$C:$C: 这是选中品牌汇总表中C列 及品牌列  这是条件区域

数据!$B4:这是数据中B4单元格 也就是品牌A  可以发现 这个品牌A在上面的条件区域中

品牌汇总!G:G:这是选中品牌汇总表中G列 及品牌列  这是求和区域 及打包量 

解释一下就是在品牌汇总表中求品牌A的打包量的总和  

 SUMIFS(品牌汇总!$F:$F,品牌汇总!$C:$C,数据!$B4,品牌汇总!$B:$B,F$3,品牌汇总!$D:$D,201608)

SUMIFS(求和区域,条件区域A,条件A,条件区域B,条件B) 条件A在条件区域A内 条件区域B在条件区域B内 

其中也使用了绝对引用 相对引用 半绝对引用 直接拖动公式就可以

结果如下

如果想看品牌ABC和SD 9月的 把公式中全选数据sheet表 整体把201608换成201609  数据sheet表中D改成SD即可

这样自主操作性很方便

MySQL与EXCEL sum sumif sumifs 函数结合_品牌汇总_20161101的更多相关文章

  1. Excel使用SUMIF函数注意事项

    sumif函数的公式使用方法如下: =sumif(查询匹配的区域,条件,汇总求和的区域) 条件可以是“>10”或"=10"这种格式.其中“查询匹配区域”和“汇总求和区域”需要 ...

  2. [转]Sumifs函数多条件求和的9个实例

    本文转自:http://m.officezhushou.com/sumif/5187.html 第一部分:sumifs函数用法介绍 excel中sumifs函数是Excel2007以后版本新增的多条件 ...

  3. excel一些常用的函数

    函数分类: 关联匹配类 清洗处理类 逻辑运算类 计算统计类 时间序列类 一.关联匹配类 经常性的,需要的数据不在同一个excel表或同一个excel表不同sheet中,数据太多,copy麻烦也不准确, ...

  4. 用Excel做数据分析常用函数(数据清理、关联匹配……)

    本文总结在使用Excel进行数据分析时,最常用的功能和函数. Excel的功能和函数非常多,用进废退,除了学习基本的函数和功能,最重要的是遇到问题可以快速的搜索并解决. 首先Excel可以处理的数据量 ...

  5. 我的MYSQL学习心得(六) 函数

    我的MYSQL学习心得(六) 函数 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...

  6. MySQL与Oracle 差异比较之三函数

    函数 编号 类别 ORACLE MYSQL 注释 1 数字函数 round(1.23456,4) round(1.23456,4) 一样:ORACLE:select round(1.23456,4) ...

  7. MySQL具体解释(5)-----------函数超全总结

    mysql函数大全   对于针对字符串位置的操作.第一个位置被标记为1. ASCII(str) 返回字符串str的最左面字符的ASCII代码值. 假设str是空字符串,返回0.假设str是NULL,返 ...

  8. [LeetCode] Design Excel Sum Formula 设计Excel表格求和公式

    Your task is to design the basic function of Excel and implement the function of sum formula. Specif ...

  9. mysql进阶(二十九)常用函数

    mysql进阶(二十九)常用函数 一.数学函数 ABS(x) 返回x的绝对值 BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制) CEILING(x) 返回大于x的最小整数值 EXP ...

随机推荐

  1. leetCode 83.Remove Duplicates from Sorted List(删除排序链表的反复) 解题思路和方法

    Given a sorted linked list, delete all duplicates such that each element appear only once. For examp ...

  2. MySql(四):备份与恢复

    一.数据库备份使用场景 下面我就列举一下我个人理解的我们能够需要用到数据库备份的一些比较常见的情况吧. a.数据丢失应用场景 1.人为操作失误造成某些数据被误操作:2.软件BUG 造成数据部分或者全部 ...

  3. 简单的js表单验证框架

    /** * 通常在我们的HTML页面表单中有大量的数据验证工作, * 免不了要写很多验证表单的js代码,这是一项非常繁琐 * 枯燥的工作.很多程序员也会经常遗漏这项工作.当然 * 一些JavaEE框架 ...

  4. JVM中垃圾收集选项

    最初并发垃圾收集被引入的时候,激活并发垃圾收集的命令选项是: -XX:+UseParallelGC 增强的并行收集和Java 6一起发布,通过一个新的命令行选项: -XX:+UseParallelOl ...

  5. FreeRTOS在神舟IV号开发板的应用demo

    下面一个可以直接编译运行的例子,FreeRTOS的版本是V7.1.0,芯片是STM32F107VCT6,使用的开发环境是Keil uVision5. 这里例子创建了四个任务,每个任务控制一个LED的亮 ...

  6. Jquery EasyUI弹出窗体

    $("#btnCreate").click(function () { $("#modalwindow").html("<iframe widt ...

  7. Selenium3 Python3 Web自动化测试从基础到项目实战之一启动不同的浏览器及配置

    在web自动化中目前selenium作为底层的自动化测试是目前运用最广的,但是各个公司都会在这个基础之上进行修改.从今天开始我们就慢慢从low代码一步一步的学习框架知识. 首先当我们测试环境有了之后我 ...

  8. nginx教程1:location 匹配规则

    worker_process # 表示工作进程的数量,一般设置为cpu的核数 worker_connections # 表示每个工作进程的最大连接数 server{} # 块定义了虚拟主机 liste ...

  9. Yii2 跨库orm实现

    近期在对公司的Yii2项目进行子系统拆分,过度阶段难免会有一些跨库操作,原生语句还好,加下库名前缀就可以了,可是到了orm问题就来了,特别是用到model做查询的时候,现在来记录一下跳过的坑, 像下面 ...

  10. CF459C Pashmak and Buses 打印全排列

    这题假设将终于的结果竖着看,每一列构成的数能够看成是k进制的数.一共同拥有d列,随意两列都不同样,所以这就是一个d位k进制数全排列的问题,一共同拥有k ^ d个排列.假设k ^ d < n,则打 ...