尛磊孨

导航

行列转换

SELECT 列 ,MAX(CASE 列名1 WHEN '某个值' THEN 列名2 ELSE 0 END )别名 FROM 表名 GROUP BY 列;

列子:

CREATE TABLE TabName (
Id int(11) NOT NULL,
Name varchar(20) DEFAULT NULL,
Date date DEFAULT NULL,
Scount int(11) DEFAULT NULL
);

INSERT INTO `TabName` VALUES ('1', '小说', '2013-09-01', '10000');
INSERT INTO `TabName` VALUES ('2', '微信', '2013-09-01', '20000');
INSERT INTO `TabName` VALUES ('3', '小说', '2013-09-02', '30000');
INSERT INTO `TabName` VALUES ('4', '微信', '2013-09-02', '35000');
INSERT INTO `TabName` VALUES ('5', '小说', '2013-09-03', '31000');
INSERT INTO `TabName` VALUES ('6', '微信', '2013-09-03', '36000');
INSERT INTO `TabName` VALUES ('7', '小说', '2013-09-04', '35000');
INSERT INTO `TabName` VALUES ('8', '微信', '2013-09-04', '38000');

SELECT * FROM `TabName`;

SELECT Date ,MAX(CASE NAME WHEN '小说' THEN Scount ELSE 0 END ) 小说,MAX(CASE NAME WHEN '微信' THEN Scount ELSE 0 END ) 微信 FROM TabName GROUP BY Date;

posted on 2018-11-15 09:33  尛磊孨  阅读(138)  评论(0编辑  收藏  举报