您的位置:首页 > 数据库 > MySQL

Mysql 列转行统计查询 、行转列统计查询

2015-09-26 01:49 483 查看
-- Table structure for `TabName`--
DROP TABLE IF EXISTS `TabName`;
CREATE TABLE `TabName` (
`Id`int(11)NOT NULL AUTO_INCREMENT,
`Name`varchar(20)DEFAULT NULL,
`Date`date DEFAULT NULL,
`Scount`int(11)DEFAULT NULL,
PRIMARY KEY (`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;</span>

-- ----------------------------
-- Records of TabName
-- ----------------------------
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 ScountELSE 0END ) 小说,
MAX(CASE NAME WHEN '微信' THEN ScountELSE 0END ) 微信
FROM TabName
GROUP BY Date



-- ------------------------
-- 行转列统计数据
-- ------------------------
select Date, group_concat(NAME,'总量:',Scount)as b_str from  TabName
group by Date




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: