产品表

CREATE TABLE `product` (

  `product_id` int(11) NOT NULL AUTO_INCREMENT,

  `product_model` varchar(255) NOT NULL,

   `product_price` decimal(15,4) NOT NULL,  

   `product_status` tinyint(1) unsigned NOT NULL,

   `product_add_time` int(11) unsigned DEFAULT '0',

  PRIMARY KEY (`product_id`),

  KEY `product_price` (`product_price`) USING BTREE

) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf-8
分类表

CREATE TABLE `category` (

    `category_id` int(11) unsigned NOT NULL AUTO_INCREMENT,

   `category_name` varchar(255) NOT NULL,

  PRIMARY KEY (`category_id`)

  ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf-8
产品分类表

CREATE TABLE `product_to_category` (

  `product_id` int(11) unsigned NOT NULL,

  `category_id` int(11) unsigned NOT NULL,

  PRIMARY KEY (`product_id`,`category_id`)

  ) ENGINE=InnoDB DEFAULT CHARSET=utf-8

要获取产品价格区间统计上架的Shoes类别的产品,状态为在售\停售的数目

SELECT

sum(CASE when product.product_price<10 then 1 else 0 end)   AS '(0,10)',

sum(CASE when  product.product_price>=10 and  product.product_price<20 then 1 else 0 end)   AS '[10,20)',

sum(CASE when  product.product_price>=20 and  product.product_price<30 then 1 else 0 end)   AS '[20,30)',

sum(CASE when  product.product_price>=30 and  product.product_price<40 then 1 else 0 end)   AS '[30,40)',

sum(CASE when  product.product_price>=40  then 1 else 0 end)   AS '[40,+)'

FROM test.product AS product

LEFT JOIN test.product_to_category map ON product.product_id = map.product_id

LEFT JOIN test.category category ON map.category_id = category.category_id

WHERE category.category_name = 'Shoes' group by product.product_status;

MYSQL分段统计的更多相关文章

  1. MySQL分段统计SQL写法 与 Mybatis 异常 java.math.BigDecimal cannot be cast to java.lang.Integer

    mysql> select end) as '<60', end) as '60~69', end) as '70~79', end) as '80~89', end) as '>= ...

  2. Mysql 分段统计

    今天遇到个小问题觉得挺有意思,与大家分享. 需求是这样的,对数据库中的一张表做按时间的分段统计,结果只要每个区间的数量. select YEAR(create_time) as nian,MONTH( ...

  3. mysql 分段统计数据

    一个简单的分段统计的问题:student 表{id,name,score} 字段,统计各个分数段的人数.规则:60以下不及格,60-80良,80-100优. SELECT sum(CASE when ...

  4. MySQL高级函数case的使用技巧----与sum结合实现分段统计

    case 函数 CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... WHEN conditionN THEN resu ...

  5. MySQL查询统计,统计唯一值并分组

    做个笔记 SQLyog客户端访问MySQL服务器 统计数据:次数总数, 次数成功率,对象(obj)总数,对象(obj)成功率 要求:按时间排序和分组 sql语句如下: SELECT a.date AS ...

  6. Atitit mysql数据库统计信息

    Atitit mysql数据库统计信息 SELECT table_name, table_rows, index_length, data_length, auto_increment, create ...

  7. MySql 简单统计查询消耗时间脚本

    MySql 简单统计查询消耗时间脚本 by:授客 QQ:1033553122 drop procedure if exists selectTime; delimiter; create proced ...

  8. sql之分区域分段统计

    sql之分区域分段统计 需求:在一个表中,有两列分别标记行政区划代码和家庭成员人数,需要得到不同乡镇的家庭成员人数在1-2人,3-4人,5-6人,6人以上的家庭数的表格 思路: 用case when对 ...

  9. sql之分段统计

    sql之分段统计 需求:获取一个县所有家庭人数在1-2人,3-4人,5-6人,6人以上的家庭数的数组 思路:通过CASE WHEN 将 CBFCYSL分组,然后统计数据条数. 语句: SELECT T ...

随机推荐

  1. 电脑蓝屏提示unexpected store exception的解决方法

    在我们使用电脑的过程中常常会遇到许多问题,对于许多不熟悉电脑的用户常常摸不着头脑,而部分用户在使用电脑时,电脑常常出现蓝屏的情况,并提示你的电脑遇到问题需要重新启动,与此同时,其报告错误代码为“une ...

  2. 数据库-mysql事务

    MySQL 事务 MySQL 事务主要用于处理操作量大,复杂度高的数据.比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数 ...

  3. ExtJs的Reader

    ExtJs的Reader Reader : 主要用于将proxy数据代理读取的数据按照不同的规则进行解析,讲解析好的数据保存到Modle中 结构图 Ext.data.reader.Reader 读取器 ...

  4. ioctl()函数获取本机IP、MAC

    #include <sys/ioctl.h> int ioctl(int d, int request, ...); /* Socket configuration controls. * ...

  5. No.14 selenium for python table表单

    table表单,HTML中的特征 标识性标签:table.tr.th.td 定位使用Xpath定位 点击表格中的元素即可

  6. virtualenv,virtualenvwrapper安装及使用

    1.安装 # 安装: (sudo) pip install virtualenv virtualenvwrapper # centos7下 pip install virtualenv virtual ...

  7. Java事务管理之Spring+Hibernate

    环境与版本 除了上一篇中的hibernate的相关lib 外 Java事务管理之Hibernate 还需要加入Spring的lib 包和如下的一些依赖包 org.aopallianceorg.aspe ...

  8. set IDENTITY_INSERT on 和 off 的设置

    qlserver 批量插入记录时,对有标识列的字段要设置 set IDENTITY_INSERT 表名 on,然后再执行插入记录操作;插入完毕后恢复为 off 设置 格式:  set IDENTITY ...

  9. Spring介绍及配置(XML文件配置和注解配置)

    本节内容: Spring介绍 Spring搭建 Spring概念 Spring配置讲解 使用注解配置Spring 一.Spring介绍 1. 什么是Spring Spring是一个开源框架,Sprin ...

  10. Spark介绍及安装部署

    一.Spark介绍 1.1 Apache Spark Apache Spark是一个围绕速度.易用性和复杂分析构建的大数据处理框架(没有数据存储).最初在2009年由加州大学伯克利分校的AMPLab开 ...