一个数据库面试题,求更好解法

来源:互联网 发布:soundtrack pro mac 编辑:程序博客网 时间:2024/05/16 11:45

这里写图片描述

数据准备(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

实现效果:
子查询:
这里写图片描述

》》》求更好写法???

原创粉丝点击