数据准备(mysql):
/*DDL 信息*/------------
CREATE TABLE `a` (
`date` VARCHAR(12) DEFAULT NULL,
`result` CHAR(4) DEFAULT NULL
) ENGINE=INNODB DEFAULT CHARSET=utf8
/*数据准备*/
INSERT INTO A(DATE,result) VALUE('2005-05-09','胜');
INSERT INTO A(DATE,result) VALUE('2005-05-09','胜');
INSERT INTO A(DATE,result) VALUE('2005-05-09','负');
INSERT INTO A(DATE,result) VALUE('2005-05-09','负');
INSERT INTO A(DATE,result) VALUE('2005-05-10','胜');
INSERT INTO A(DATE,result) VALUE('2005-05-10','负');
INSERT INTO A(DATE,result) VALUE('2005-05-10','负');
我的sql实现,用了个子查询:
SELECT t.date, SUM(t.V) AS '胜', SUM(t.F) AS '负'
FROM(
SELECT
a.`date`,
IF(a.`result`='胜',COUNT(a.`date`),0) AS 'V',
IF(a.`result`='负',COUNT(a.`date`),0) AS 'F'
FROM
A
GROUP BY a.`date`,
a.`result`
) AS t
GROUP BY t.date
实现效果:
子查询:
》》》求更好写法???