MySQL 某列数据所占总和百分比 SQL实例 |
您所在的位置:网站首页 › mysql查询一列数据 › MySQL 某列数据所占总和百分比 SQL实例 |
SET NAMES utf8;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for person_base_info
-- ----------------------------
DROP TABLE IF EXISTS `person_base_info`;
CREATE TABLE `person_base_info` (
`uuid` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`address` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`email` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
PRIMARY KEY (`uuid`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
-- ----------------------------
-- Records of person_base_info
-- ----------------------------
INSERT INTO `person_base_info` VALUES ('w1e2233rf', '5', '深圳', '[email protected]');
INSERT INTO `person_base_info` VALUES ('we33212', '2', '深圳', '[email protected]');
INSERT INTO `person_base_info` VALUES ('we33rf', '1', '深圳', '[email protected]');
INSERT INTO `person_base_info` VALUES ('we5663rf', '4', '北京', '[email protected]');
INSERT INTO `person_base_info` VALUES ('wewq33rf', '3', '深圳', '[email protected]');
SET FOREIGN_KEY_CHECKS = 1;
查询出所有数据: SELECT * FROM person_base_info
查询地址所占比: SELECT a.address, a.cont AS countAddress, b.sum AS sumAddress, CONCAT( ROUND( a.cont / b.sum * 100, 2 ), '', '%' ) AS percent FROM ( SELECT address, COUNT( address ) AS cont FROM person_base_info GROUP BY address ) a,( SELECT COUNT(*) AS sum FROM person_base_info ) b
SQL函数解释: MySQL ROUND(x) 函数返回最接近于参数 x 的整数;ROUND(x,y) 函数对参数x进行四舍五入的操作,返回值保留小数点后面指定的y位。 MySQL CONCAT()函数用于将多个字符串连接成一个字符串。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |