文档章节

mysql 范围统计,并且行转列

小张525
 小张525
发布于 2016/12/09 21:19
字数 236
阅读 33
收藏 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 
	sum(if(a.score_class = 1,1,0)) as w_1,
	sum(if(a.score_class =2 ,1,0)) as w_2,
    sum(if(a.score_class = 3,1,0)) as w_3,
	sum(if(a.score_class =4 ,1,0)) as w_4,
    sum(if(a.score_class = 5,1,0)) as w_5

  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;

-- output
+------+------+------+------+------+
| w_1  | w_2  | w_3  | w_4  | w_5  |
+------+------+------+------+------+
|    7 |    3 |    2 |    3 |    0 |
+------+------+------+------+------+
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 | NULL  |
|  2 | DERIVED     | score      | ALL  | NULL          | NULL | NULL    | NULL |   15 | NULL  |
+----+-------------+------------+------+---------------+------+---------+------+------+-------+

-- 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)




 

© 著作权归作者所有

共有 人打赏支持
小张525
粉丝 6
博文 103
码字总数 33503
作品 0
乌鲁木齐
程序员
私信 提问
MySQL优化 - 性能分析与查询优化

MySQL优化 - 性能分析与查询优化 优化应贯穿整个产品开发周期中,比如编写复杂SQL时查看执行计划,安装MySQL服务器时尽量合理配置(见过太多完全使用默认配置安装的情况),根据应用负载选择合...

杰思
2017/08/03
0
0
(转)学习MySQL优化原理,这一篇就够了!

原文:https://mp.weixin.qq.com/sbiz=MzI4NTA1MDEwNg==&mid=2650763421&idx=1&sn=2515421f09c150d31e8d1b8b59243bd5&chksm=f3f9c508c48e4c1ea64b00b25c226efa2b9e32910f83290bf383ce0d16ee0......

weixin_39152648
05/09
0
0
优化数据库结构

7.4. 优 化数据库结构 7.4.1. 设计选择 7.4.2. 使你的数据尽可能小 7.4.3. 列索引 7.4.4. 多列索引 7.4.5. MySQL如何使用索引 7.4.6. MyISAM键高速缓冲 7.4.7. MyISAM索引统计集合 7.4.8. M...

企图穿越
2010/02/21
439
0
MySQL中多表 查询与统计操作海量数据

mysql 中有一个库 test 库里面有1000张表 名称分别为 test_1、test_2……test_1000;相当于把5千万甚至更多的数据分别放到1000张表里面了; 每一张表 只有两列(列标志都相同 为NO、val) ,类...

春风里的酒客
10/24
266
2
MySQL explain详解

例子 id SQL执行的顺序的标识 select_type 查询中每个select子句的类型 (1) SIMPLE(简单SELECT,不使用UNION或子查询等) (2) PRIMARY(查询中若包含任何复杂的子部分,最外层的select被标记为P...

乾坤刀
07/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

CentOS配置Tomcat监听80端口,虚拟主机

Tomcat更改默认端口为80 更改的配置文件是: /usr/local/tomcat/conf/server.xml [root@test-a ~]# vim /usr/local/tomcat/conf/server.xml # 找到 Connector port="8080" protocol="HTTP/1......

野雪球
今天
4
0
《稻盛和夫经营学》读后感心得体会3180字范文

《稻盛和夫经营学》读后感心得体会3180字范文: 一代日本经营之圣稻盛和夫凭借刻苦勤奋的精神以及深植于佛教的商业道德准则,成为了“佛系”企业家的代表人物。在《稻盛和夫经营学》“领导人...

原创小博客
今天
3
0
java框架学习日志-5(常见的依赖注入)

依赖注入(dependency injection) 之前提到控制反转(Inversion of Control)也叫依赖注入,它们其实是一个东西,只是看的角度不同,这章详细说一下依赖注入。 依赖——指bean对象创建依赖于...

白话
今天
4
0
红外接收器驱动开发

背景:使用系统的红外遥控软件没有反应,然后以为自己接线错误,反复测试,结果烧坏了一个红外接收器,信号主板没有问题。所以自己开发了一个红外接收器的python驱动。接线参见https://my.os...

mbzhong
今天
2
0
ActiveMQ消息传送机制以及ACK机制详解

AcitveMQ是作为一种消息存储和分发组件,涉及到client与broker端数据交互的方方面面,它不仅要担保消息的存储安全性,还要提供额外的手段来确保消息的分发是可靠的。 一. ActiveMQ消息传送机...

watermelon11
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部