文档章节

mysql 范围统计(-1)

小张525
 小张525
发布于 2016/12/10 09:54
字数 243
阅读 1
收藏 0
-- 创建数据表
create table score(id int not null auto_increment,score int not null,primary key (id))engine=myisam;

-- 插入数据
insert into score(`score`) values(100),(200),(200),(100),(300),(400),(500),(300),(200),(400),(500),(200),(500),(300);

-- 范围分组


SELECT 
count(a.score_class),a.score_class
FROM
    (SELECT 
        id,
            score,
            (CASE
                WHEN score >= 100 AND score <= 200 THEN 1
                WHEN score > 200 AND score <= 300 THEN 2
                WHEN score > 300 AND score <= 400 THEN 3
                WHEN score > 400 AND score <= 500 THEN 4
                ELSE 5
            END) AS score_class
    FROM
        score) AS a   group by a.score_class;

-- output 

+----------------------+-------------+
| count(a.score_class) | score_class |
+----------------------+-------------+
|                    7 |           1 |
|                    3 |           2 |
|                    2 |           3 |
|                    3 |           4 |
+----------------------+-------------+
4 rows in set (0.00 sec)

-- index
mysql> show index from score;
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| score |          0 | PRIMARY  |            1 | id          | A         |          15 |     NULL | NULL   |      | BTREE      |         |               |
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
1 row in set (0.00 sec)

-- explain

+----+-------------+------------+------+---------------+------+---------+------+------+---------------------------------+
| id | select_type | table      | type | possible_keys | key  | key_len | ref  | rows | Extra                           |
+----+-------------+------------+------+---------------+------+---------+------+------+---------------------------------+
|  1 | PRIMARY     | <derived2> | ALL  | NULL          | NULL | NULL    | NULL |   15 | Using temporary; Using filesort |
|  2 | DERIVED     | score      | ALL  | NULL          | NULL | NULL    | NULL |   15 | NULL                            |
+----+-------------+------------+------+---------------+------+---------+------+------+---------------------------------+
2 rows in set (0.04 sec)


-- 写在最后, 这篇文章和上一篇文章是有关系的, 
-- 区别点:
-- 1  分组求和的方式不同
-- 2  有一个行转列的过程.






 

© 著作权归作者所有

共有 人打赏支持
小张525
粉丝 6
博文 103
码字总数 33503
作品 0
乌鲁木齐
程序员
私信 提问
MySQL · myrocks · myrocks统计信息

概述 mysql查询优化主要是在代价统计分析的基础上进行的。合理的代价模型和准确的代价统计信息决定了查询优化的优劣。myrocks基于mysql5.6, 目前的代价模型依赖的主要因素是IO和CPU,mysql5....

阿里云RDS-数据库内核组
2016/12/03
0
0
单台服务器的数据统计设计

背景 有且只有一台 db 服务器提供服务,该服务器同时支撑业务和统计需要。 统计的表单需要导出成 excel,且后续不能确定该表单是否还会修改。 导出数据的同时,需要为数据写入导出标识。 导出...

saintatgod
2016/05/16
59
0
关于数字的经典SQL编程:连续范围问题

【IT168 技术】连续范围问题也是一个非常经典的SQL编程问题。为了使讲解易于理解,我们先来创建一些测试数据。 CREATE TABLE t ( a INT UNSIGNED NOT NULL PRIMARY KEY ); INSERT INTO t VA...

it168网站
2012/12/29
0
0
mysql与oracle去重方案的异同,mysql处于学习阶段不太熟悉,最后有两个解决不了,求大神帮忙补充上

去重查询语句 oracle: select * from table1 a where rowid in (select max(rowid) from table1 b where a.id = b.id) mysql: select a.id,* from table1 a group by a.id 查询重复的语句 or......

混分小菜鸟
2015/03/20
270
2
MySQL非唯一索引值分布不均匀与优化器参数eq_range_index_dive_limit

MySQL5.6引入了一个新的系统变量eqrangeindexdivelimit。这可能会显着影响查询执行计划。这里我举一个典型的例子。 有一个表“t”。主键由从“id1”开始的多个列组成。表t中有1.67M行,id1的...

mark_wangfb
2016/11/16
221
1

没有更多内容

加载失败,请刷新页面

加载更多

(三)Honghu Cloud云架构一定时调度平台

2018-11-16 14:45:08 产品简介 鸿鹄云架构是一个完全由Java编写的开源任务调度框架,为企业在任务调度提供了简单却强大的机制。开发人员根据业务规则,使用调度平台简单配置,就可以让任务在...

itcloud
18分钟前
1
0
护航Lazada双11购物节 阿里云CDN全球化火力全开

摘要: Lazada是东南亚最大B2C平台,业务范围覆盖印度尼西亚、马来西亚、菲律宾、新加坡、泰国和越南六个东南亚国家,覆盖大约6亿消费者。在双11期间,阿里云CDN为Lazada电商内容加速,并且通...

阿里云官方博客
19分钟前
1
0
常用设计模式之代理模式解析

1. 简介 代理模式(Proxy Pattern)是常用设计模式之一。代理模式的定义:Provide a surrogate or placeholder for another object to controlaccess to it(为其他对象提供一种代理以控制对这个...

老道士
19分钟前
3
0
Vue瀑布流插件的使用示例

我自己写的一个的Vue瀑布流插件,列数自适应,不用设置每个卡片的高度。 测试页面:Page.vue 模板页面:WaterFollow.vue 和 WFColumn.vue 在Page.vue中,修改itemW的值,设置每列的最小宽度。...

peakedness丶
20分钟前
2
0
多种负载均衡算法及其Java代码实现【网络上较好的转载】

首先给大家介绍下什么是负载均衡(来自百科) 负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展 网络设备和 服务器的带宽、增加 吞吐量、加强网络数据处理能力、提高网...

stys352
23分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部