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;