mysql distinct 单表多字段去重统计不重复个数
建表语句:
CREATE TABLE `exec_create` (
`A` varchar(255) DEFAULT NULL,
`B` varchar(255) DEFAULT NULL,
`C` varchar(255) DEFAULT NULL,
`D` date DEFAULT NULL,
`E` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
插入数据:
INSERT INTO `test`.`exec_create` (`A`, `B`, `C`, `D`, `E`) VALUES ('中国网', 'v1.1.2', '第一轮', '2019-07-29', 'a');
INSERT INTO `test`.`exec_create` (`A`, `B`, `C`, `D`, `E`) VALUES ('中国网', 'v1.1.1', '第二轮', '2019-07-29', 'a');
INSERT INTO `test`.`exec_create` (`A`, `B`, `C`, `D`, `E`) VALUES ('中国网', 'v1.1.1', '第一轮', '2019-07-29', 'a');
INSERT INTO `test`.`exec_create` (`A`, `B`, `C`, `D`, `E`) VALUES ('中国网', 'v1.1.1', '第一轮', '2019-07-29', 's');
INSERT INTO `test`.`exec_create` (`A`, `B`, `C`, `D`, `E`) VALUES ('中国网', 'v1.1.2', '第一轮', '2019-07-20', 'vb');
INSERT INTO `test`.`exec_create` (`A`, `B`, `C`, `D`, `E`) VALUES ('中国网', 'v1.1.1', '第三轮', '2019-07-29', 'f');
INSERT INTO `test`.`exec_create` (`A`, `B`, `C`, `D`, `E`) VALUES ('中国网', 'v1.1.2', '第一轮', '2019-07-29', 'b');
INSERT INTO `test`.`exec_create` (`A`, `B`, `C`, `D`, `E`) VALUES ('中国网', 'v1.1.1', '第一轮', '2019-07-29', 'f');
INSERT INTO `test`.`exec_create` (`A`, `B`, `C`, `D`, `E`) VALUES ('中国网', 'v1.1.3', '第一轮', '2019-07-29', 's');
INSERT INTO `test`.`exec_create` (`A`, `B`, `C`, `D`, `E`) VALUES ('中国网', 'v1.1.1', '第一轮', '2019-07-29', 'b');
表格数据如下:
中国网 | v1.1.2 | 第一轮 | 2019-07-29 | a |
中国网 | v1.1.1 | 第二轮 | 2019-07-29 | a |
中国网 | v1.1.1 | 第一轮 | 2019-07-29 | a |
中国网 | v1.1.1 | 第一轮 | 2019-07-29 | s |
中国网 | v1.1.2 | 第一轮 | 2019-07-20 | vb |
中国网 | v1.1.1 | 第三轮 | 2019-07-29 | f |
中国网 | v1.1.2 | 第一轮 | 2019-07-29 | b |
中国网 | v1.1.1 | 第一轮 | 2019-07-29 | f |
中国网 | v1.1.3 | 第一轮 | 2019-07-29 | s |
中国网 | v1.1.1 | 第一轮 | 2019-07-29 | b |
现在想要某一个B(版本)一共有多少种不同的B(轮数)和 E(人名)。
其中mysql的distinct可以实现这个功能:select count(DISTINCT e),count(DISTINCT c) from exec_create;
下一篇: 关于开发中的一些问题