mysql with rollup 计算问题
酒红色头发 2017-05-09 03:57:59 CREATE TABLE `t` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`A` varchar(45) DEFAULT NULL,
`B` varchar(45) DEFAULT NULL,
`C` varchar(45) DEFAULT NULL,
`D` varchar(45) DEFAULT NULL,
`E` varchar(45) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
INSERT INTO `jxc`.`t`
(`id`,`A`,`B`,`C`,`D`,`E`)
VALUES
(1,'A1','B1','C1','D1','E1');
INSERT INTO `jxc`.`t`
(`id`,`A`,`B`,`C`,`D`,`E`)
VALUES
(2,'A2','B2','C2','D2','E2');
INSERT INTO `jxc`.`t`
(`id`,`A`,`B`,`C`,`D`,`E`)
VALUES
(3,'A3','B3','C3','D3','E3');
SELECT A AS 'A',
CASE WHEN ISNULL(A) THEN NULL ELSE B END
AS 'B',
C AS 'C',
CASE WHEN ISNULL(A) THEN NULL ELSE
D END AS 'D',
CASE WHEN ISNULL(A) THEN NULL ELSE
E END AS 'E'
FROM t
GROUP BY C,B,A with rollup
测试代码如上,跑出来结果中D,E两列的值错行了,是为啥?(譬如D2,E2和A1,B1,C1在一行)
分数不多啦,拜托各位。