データベース集約機能
AVG 平均
和 和
MIN 最小のものを探す
MAX 最大のものを探す
カウント カウント
GROUP BY グループ化機能
ORDER BY ソート機能
上記はデータシートデータです
以下はデータテーブル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;
1つを要求する:
表のデータスコアの合計を達成するには、上記の結果が必要です。
SELECT NAME,SUM( CJ ) FROM hyjx GROUP BY NAME ORDER BY SUM( CJ ) DESC
2つ要求:
テーブル内のデータ行の変換を実現するには、上記の結果が必要です。
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
もっとエキサイティングな、お楽しみに!
データテーブルの列と行は後で更新されます。。。
私は最後を見ました、好きでフォローすることを忘れないでください!