Database aggregation functions
AVG Average
SUM Sum
MIN Seek the smallest
MAX Seek the biggest
COUNT count
GROUP BY Grouping function
ORDER BY Sort function
The above is the data sheet data
The following is the data table SQL
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for hyjx
-- ----------------------------
DROP TABLE IF EXISTS `hyjx`;
CREATE TABLE `hyjx` (
`NAME` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '姓名',
`CJ` int(25) NULL DEFAULT NULL COMMENT '成绩',
`KM` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '科目'
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Compact;
-- ----------------------------
-- Records of hyjx
-- ----------------------------
INSERT INTO `hyjx` VALUES ('张三', 100, '数学');
INSERT INTO `hyjx` VALUES ('张三', 88, '语文');
INSERT INTO `hyjx` VALUES ('李四', 99, '数学');
INSERT INTO `hyjx` VALUES ('李四', 49, '语文');
INSERT INTO `hyjx` VALUES ('王五', 49, '数学');
INSERT INTO `hyjx` VALUES ('王五', 67, '语文');
INSERT INTO `hyjx` VALUES ('赵六', 88, '数学');
INSERT INTO `hyjx` VALUES ('赵六', 89, '语文');
SET FOREIGN_KEY_CHECKS = 1;
Demand one:
To achieve the sum of the data scores in the table, the above results are required.
SELECT NAME,SUM( CJ ) FROM hyjx GROUP BY NAME ORDER BY SUM( CJ ) DESC
Demand two:
To achieve the conversion of data rows in the table, the above results are required.
SELECT NAME,
SUM( CASE KM WHEN "语文" THEN CJ ELSE 0 END ) 语文,
SUM( CASE KM WHEN "数学" THEN CJ ELSE 0 END ) 数学
FROM hyjx GROUP BY NAME
More exciting, stay tuned!
The column and row in the data table will be updated later. . .
I have seen the last, remember to like and follow!