文档章节

常用sql

xpttxsok
 xpttxsok
发布于 2016/06/02 17:29
字数 427
阅读 29
收藏 0
SELECT
    broswer NAME,
    count(1) VALUE ,
    CASE
WHEN broswer = 'Firefox' THEN '#FF00FF'
WHEN broswer = 'IE' THEN '#FFFF00'
ELSE '#43CD80'
END color
FROM
    t_s_log
GROUP BY
    broswer

 

======================行列转换=====================
CREATE TABLE `table_name` (
  `id` int(11) NOT NULL,
  `col1` char(2) DEFAULT NULL,
  `col2` char(2) DEFAULT NULL,
  `col3` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

insert into table_name values (1 ,'A1','B1',9), (2 ,'A2','B1',7), (3 ,'A3','B1',4), (4 ,'A4','B1',2),
(5 ,'A1','B2',2), (6 ,'A2','B2',9), (7 ,'A3','B2',8), (8 ,'A4','B2',5), (9 ,'A1','B3',1), (10 ,'A2','B3',8),
(11 ,'A3','B3',8), (12 ,'A4','B3',6), (13 ,'A1','B4',8), (14 ,'A2','B4',2), (15 ,'A3','B4',6), (16 ,'A4','B4',9),
(17 ,'A1','B4',3), (18 ,'A2','B4',5), (19 ,'A3','B4',2), (20 ,'A4','B4',5);

SELECT
    ifnull(col1, 'total') AS col1,
    sum(IF(col2 = 'B1', col3, 0)) AS B1,
    sum(IF(col2 = 'B2', col3, 0)) AS B2,
    sum(IF(col2 = 'B3', col3, 0)) AS B3,
    sum(IF(col2 = 'B4', col3, 0)) AS B4,
    SUM(col3) AS TOTAL
FROM
    table_name
GROUP BY
    col1 WITH ROLLUP;

 

=======================1======================

DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `stu_name` varchar(40) DEFAULT NULL,
  `stu_score` double(20,0) DEFAULT NULL,
  `class_id` bigint(20) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8;


INSERT INTO `student` VALUES ('1', '赵云', '20', '1');
INSERT INTO `student` VALUES ('2', '张飞', '30', '1');
INSERT INTO `student` VALUES ('3', '关羽', '30', '1');
INSERT INTO `student` VALUES ('4', '刘备', '40', '1');
INSERT INTO `student` VALUES ('5', '曹操', '40', '2');
INSERT INTO `student` VALUES ('6', '许褚', '30', '2');
INSERT INTO `student` VALUES ('8', '荀彧', '28', '2');
INSERT INTO `student` VALUES ('9', '荀攸', '29', '2');
INSERT INTO `student` VALUES ('10', '郭嘉', '24', '2');
INSERT INTO `student` VALUES ('11', '诸葛亮', '39', '1');
INSERT INTO `student` VALUES ('12', '孙权', '40', '3');
INSERT INTO `student` VALUES ('13', '孙权', '38', '3');
INSERT INTO `student` VALUES ('14', '孙坚', '31', '3');
INSERT INTO `student` VALUES ('15', '小乔', '20', '3');
INSERT INTO `student` VALUES ('16', '大桥', '20', '3');
INSERT INTO `student` VALUES ('17', '鲁肃', '34', '3');
INSERT INTO `student` VALUES ('18', '陆逊', '31', '3');
INSERT INTO `student` VALUES ('19', '吕蒙', '31', '3');

SELECT * FROM 
(
    SELECT IFNULL(class_id,'总计') as classid,SUM(stu_score) as score FROM student GROUP BY class_id  WITH ROLLUP
) A
ORDER BY score

 

 

 

 

 

 

© 著作权归作者所有

xpttxsok
粉丝 7
博文 182
码字总数 107935
作品 0
徐汇
程序员
私信 提问

暂无文章

OSChina 周六乱弹 —— 因违反《中华人民共和国治安管理处罚法》第四十四条之规定

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @xiaoshiyue :#今日歌曲推荐# 惊艳分享谷微的单曲《安守本份》(@网易云音乐) 《安守本份》- 谷微 手机党少年们想听歌,请使劲儿戳(这里) ...

小小编辑
10分钟前
13
0
Angular 英雄编辑器

应用程序现在有了基本的标题。 接下来你要创建一个新的组件来显示英雄信息并且把这个组件放到应用程序的外壳里去。 创建英雄组件 使用 Angular CLI 创建一个名为 heroes 的新组件。 ng gener...

honeymoose
今天
6
0
Kernel DMA

为什么会有DMA(直接内存访问)?我们知道通常情况下,内存数据跟外设之间的通信是通过cpu来传递的。cpu运行io指令将数据从内存拷贝到外设的io端口,或者从外设的io端口拷贝到内存。由于外设...

yepanl
今天
6
0
hive

一、hive的定义: Hive是一个SQL解析引擎,将SQL语句转译成MR Job,然后再在Hadoop平台上运行,达到快速开发的目的 Hive中的表是纯逻辑表,就只是表的定义,即表的元数据。本质就是Hadoop的目...

霉男纸
今天
7
0
二、Spring Cloud—Eureka(Greenwich.SR1)

注:本系列文章所用工具及版本如下:开发工具(IDEA 2018.3.5),Spring Boot(2.1.3.RELEASE),Spring Cloud(Greenwich.SR1),Maven(3.6.0),JDK(1.8) Eureka: Eureka是Netflix开发...

倪伟伟
昨天
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部