假设当前数据库mc_userdb,其中有customer_login(用户登陆表)

CREATE DATABASE `mc_userdb`;
USE `mc_userdb`;DROP TABLE IF EXISTS `customer_login`;
CREATE TABLE `customer_login` (`customer_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '用户ID',`login_name` VARCHAR(20) NOT NULL COMMENT '用户登陆名',`password` CHAR(32) NOT NULL COMMENT 'md5加密的密码',`user_stats` TINYINT(4) NOT NULL DEFAULT '1' COMMENT '用户状态',`modified_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',PRIMARY KEY (`customer_id`)
) ENGINE=INNODB AUTO_INCREMENT=10011 DEFAULT CHARSET=utf8 COMMENT='用户登陆表';

另外有数据库mc_orderdb,其中有order_master(订单主表)

CREATE DATABASE `mc_orderdb`;
USE `mc_orderdb`;DROP TABLE IF EXISTS `order_master`;
CREATE TABLE `order_master` (`order_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '订单ID',`order_sn` BIGINT(20) UNSIGNED NOT NULL COMMENT '订单编号 yyyymmddnnnnnnnn',`customer_id` INT(10) UNSIGNED NOT NULL COMMENT '下单人ID',`shipping_user` VARCHAR(10) NOT NULL COMMENT '收货人姓名',`province` SMALLINT(6) NOT NULL COMMENT '收货人所在省',`city` SMALLINT(6) NOT NULL COMMENT '收货人所在市',`district` SMALLINT(6) NOT NULL COMMENT '收货人所在区',`address` VARCHAR(100) NOT NULL COMMENT '收货人详细地址',`payment_method` TINYINT(4) NOT NULL COMMENT '支付方式:1现金,2余额,3网银,4支付宝,5微信',`order_money` DECIMAL(8,2) NOT NULL COMMENT '订单金额',`district_money` DECIMAL(8,2) NOT NULL DEFAULT '0.00' COMMENT '优惠金额',`shipping_money` DECIMAL(8,2) NOT NULL DEFAULT '0.00' COMMENT '运费金额',`payment_money` DECIMAL(8,2) NOT NULL DEFAULT '0.00' COMMENT '支付金额',`shipping_comp_name` VARCHAR(10) DEFAULT NULL COMMENT '快递公司名称',`shipping_sn` VARCHAR(50) DEFAULT NULL COMMENT '快递单号',`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '下单时间',`shipping_time` DATETIME DEFAULT NULL COMMENT '发货时间',`pay_time` DATETIME DEFAULT NULL COMMENT '支付时间',`receive_time` DATETIME DEFAULT NULL COMMENT '收货时间',`order_status` TINYINT(4) NOT NULL DEFAULT '0' COMMENT '订单状态',`order_point` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '订单积分',`invoice_title` VARCHAR(100) DEFAULT NULL COMMENT '发票抬头',`modified_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',PRIMARY KEY (`order_id`),UNIQUE KEY `ux_ordersn` (`order_sn`)
) ENGINE=INNODB AUTO_INCREMENT=10011 DEFAULT CHARSET=utf8 COMMENT='订单主表';

业务场景:统计消费总金额大于1000元的,800到1000元的,500到800元的,以及500元以下的人数

第一步: 根据customer_id字段进行分组,计算出每位用户的消费总和

SELECT customer_id,SUM(order_money) AS total_money
FROM mc_orderdb.`order_master`
GROUP BY customer_id

第二步:将customer_login与order_master进行左连接,对左连接的结果集使用count函数计算出各个区间段的数据统计

SELECT COUNT(CASE WHEN IFNULL(total_money,0) >=1000 THEN a.customer_id END) AS '>1000',COUNT(CASE WHEN IFNULL(total_money,0) >=800 AND IFNULL(total_money,0) <1000 THEN a.customer_id END) AS '800~1000',COUNT(CASE WHEN IFNULL(total_money,0) >=500 AND IFNULL(total_money,0) <800 THEN a.customer_id END) AS '500~800',COUNT(CASE WHEN IFNULL(total_money,0) <500  THEN a.customer_id END) AS '<500'
FROM mc_userdb.`customer_login` a
LEFT JOIN
( SELECT customer_id,SUM(order_money) AS total_moneyFROM mc_orderdb.`order_master` GROUP BY customer_id) b
ON a.`customer_id`=b.`customer_id`

MySQL分区间进行数据统计相关推荐

  1. mysql 计算成功率_mysql数据统计技巧备忘录

    mysql 作为常用数据库,操作贼六是必须的,对于数字操作相关的东西,那是相当方便,本节就来拎几个统计案例出来供参考! order订单表,样例如下: CREATE TABLE`t_order` ( ` ...

  2. 中国微型计算机分省市产量数据统计,2017年6月中国微型计算机设备产量统计数据分析...

    根据三胜产业研究中心数据,2017年1-6月全国微型计算机设备产量统计显示: 2017年6月全国微型计算机设备产量为2896.88万部,当月同比增速18.9%:2017年1-6月全国微型计算机设备产量 ...

  3. avg最多用多少列 mysql_MySQL_MySQL中几种数据统计查询的基本使用教程,统计平均数 SELECT AVG() FROM 语 - phpStudy...

    MySQL中几种数据统计查询的基本使用教程 统计平均数SELECT AVG() FROM 语法用于从数据表中统计数据平均数. 语法: SELECT AVG(column) FROM tb_name 该 ...

  4. mysql年龄段统计_怎么分年龄段查询、统计?

    你的位置: 问答吧 -> PHP基础 -> 问题详情 怎么分年龄段查询.统计? 人员的资料中有"出生日期"字段,问: 如何按照每5年为一个区间去查询统计人员数据? 我初 ...

  5. mysql年月分表_MySQL之按月拆分主表并按月分表写入数据提高数据查询速度

    使用场景: 主表数据量特别大,为了提高查询的速度,可以考虑按月进行分表,要求就是当月的数据到当月表查询,上月的数据到上月表查询,当天的数据到主表来查询.这样在一定程度上也是提高了数据的查询速度 过程演 ...

  6. mysql 统计_mysql数据统计级别技巧

    本文提及技巧只适用数据统计,OLAP场景,不建议用于业务sql.   分组top问题 知识点:巧用局部变量,实现Hive窗口分析函数功能row_number() over(partition by e ...

  7. mysql 优化300例_PHP+MySQL实现对一段时间内每天数据统计优化操作实例

    本文实例讲述了PHP+MySQL实现对一段时间内每天数据统计优化操作.分享给大家供大家参考,具体如下: 在互联网项目中,对项目的数据分析必不可少.通常会统计某一段时间内每天数据总计变化趋势调整营销策略 ...

  8. mysql 查询每人每天_PHP+MySQL实现对一段时间内每天数据统计优化操作实例

    本文实例讲述了PHP+MySQL实现对一段时间内每天数据统计优化操作.分享给大家供大家参考,具体如下: 在互联网项目中,对项目的数据分析必不可少.通常会统计某一段时间内每天数据总计变化趋势调整营销策略 ...

  9. mysql 定时统计_PHP+MySQL定时数据统计优化

    这次给大家带来PHP+MySQL定时数据统计优化,PHP+MySQL定时数据统计优化的注意事项有哪些,下面就是实战案例,一起来看一下. 在互联网项目中,对项目的数据分析必不可少.通常会统计某一段时间内 ...

最新文章

  1. HDU4549(矩阵快速幂+快速幂)
  2. Unity5 AssetBundle系列——简单的AssetBundleManager
  3. 云计算技术 — 云计算技术发展编年史
  4. wireshark 如何修改抓包时间日期显示格式?
  5. 飞桨框架2.0RC新增模型保存、加载方案,与用户场景完美匹配,更全面、更易用
  6. Thinkphp3.23 关联模型relation方法不存在解决方法
  7. 阿里云mysql安装
  8. 真香定律!Android动态换肤实现原理解析,原理+实战+视频+源码
  9. java 取pdf 文本域_java – 使用iText从pdf文件中提取文本列
  10. mysql 的节点组是什么_什么是MySQL集群
  11. Android TextView文字横向自动滚动(跑马灯)
  12. RT-Thread Nano移植
  13. 聚类分析-K均值matlab(一)
  14. 表单和ajax中的post请求后台获取数据方法
  15. 京瓷打印机m5521cdn_京瓷M5521cdn驱动-京瓷ECOSYS M5521cdn打印机驱动下载 v5.1.2106官方版--pc6下载站...
  16. Excel实现Base16-Base64编码转换(SAP SCM)
  17. Wekan 2.23 发布,支持中文的 JavaScript kanban
  18. excel合并多个工作表_多个Excel工作表合并到一个工作簿?很简单!
  19. k8s设计-多容器pod设计模式
  20. 不忘初心,砥砺前行。

热门文章

  1. EXP 导出出错解决方案
  2. 2021年品牌CDP与营销数字化转型报告:从自建数据资产到消费者深度运营
  3. 【报告分享】完美日记品牌分析报告.pdf(附68页pdf全文下载链接)
  4. ubuntu下修改用户的默认目录
  5. 谷歌 ICLR 2020 | 向量化召回也需要『预训练』
  6. oracle hcm 发展,甲骨文发布Oracle HCM Cloud云服务 呈现三大亮点
  7. java jdbc sql 参数_java – Postgresql JDBC表值参数
  8. Algorithm:递归思想及实例分析
  9. Leetcode每日一题:36.valid-sudoku(有效的数独)
  10. 香港首个港人“首置项目”超额认购逾44倍