0
点赞
收藏
分享

微信扫一扫

数据库聚合函数应用(某厂dian面)

影子喵喵喵 2022-03-11 阅读 104


数据库聚合函数

​​AVG​​ 求平均

​​SUM​​ 求和

​​MIN​​ 求最小

​​MAX​​ 求最大

​​COUNT​​ 计数

​​GROUP BY​​ 分组函数

​​ORDER BY​​ 排序函数

数据库聚合函数应用(某厂dian面)_数据

以上是数据表数据

以下是数据表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;

需求一:

数据库聚合函数应用(某厂dian面)_数据_02

实现对表中数据成绩的求和,要求得出上面结果。

SELECT NAME,SUM( CJ ) FROM hyjx GROUP BY NAME ORDER BY SUM( CJ ) DESC

需求二:

数据库聚合函数应用(某厂dian面)_数据_03

实现对表中数据行转列,要求得出上面结果。

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

更多精彩,敬请期待!

后续会更新数据表中列转行。。。

都看到最后了,记得点赞、关注哈!



举报

相关推荐

0 条评论