首页 > 数据库 >MySQL分组查询实例2

MySQL分组查询实例2

时间:2024-04-08 12:01:31浏览次数:27  
标签:INSERT score DEFAULT into 实例 分组 result MySQL values

DDL——学生表——成绩表

  1.  
    CREATE TABLE `class` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `createdate` datetime DEFAULT NULL,
      `username` varchar(255) DEFAULT NULL,
      `pwd` varchar(255) DEFAULT NULL,
      `phone` varchar(255) DEFAULT NULL,
      `age` int(3) DEFAULT NULL,
      `sex` varchar(255) DEFAULT NULL,
      `introduce` varchar(255) DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
     
    CREATE TABLE `result` (
      `rid` int(11) NOT NULL AUTO_INCREMENT COMMENT '成绩编号',
      `testname` varchar(255) DEFAULT NULL COMMENT '测试名称',
      `score` double(255,2) DEFAULT NULL COMMENT '成绩',
      `studentid` int(255) DEFAULT NULL,
      PRIMARY KEY (`rid`),
      KEY `studentid` (`studentid`),
      CONSTRAINT `result_ibfk_1` FOREIGN KEY (`studentid`) REFERENCES `class` (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8;
    DML
  2. INSERT into class VALUES(0,'2024-02-25','香菱','123','15614333260',18,'女','万民堂大厨');
    INSERT into class VALUES(0,'2024-02-25','凝光','123','15614333260',26,'女','璃月七星天权星');
    INSERT into class VALUES(0,'2024-02-25','刻晴','123','15614333260',23,'女','璃月七星玉衡星');
    INSERT into class VALUES(0,'2024-02-25','北斗','123','15614333260',26,'女','大船长');
    INSERT into class VALUES(0,'2024-02-25','胡桃','123','15614333260',18,'女','往生堂第77代堂主');
    SELECT * FROM class;
     
    INSERT into result values(0,'政治',96,1);
    INSERT into result values(0,'地理',95,1);
    INSERT into result values(0,'政治',94,1);
    INSERT into result values(0,'英语',93,1);
    INSERT into result values(0,'历史',92,1);
    INSERT into result values(0,'化学',91,1);
    INSERT into result values(0,'Java',96,1);
    INSERT into result values(0,'Java',95,1);
    INSERT into result values(0,'政治',94,1);
    INSERT into result values(0,'物理',93,1);
    INSERT into result values(0,'物理',92,1);
    INSERT into result values(0,'化学',91,1);
    DQL
  3. # 分组显示时,只用被分组的列数据有效,其余无效
    SELECT testname'学科名称',
    sum(score)'科目总分数',
    count(score)'科目考试人数',
    avg(score)'科目平均成绩',
    max(score)'科目最高分',
    min(score)'科目最低分' # 最后一个不写,
    FROM result
    where studentid<5 # 具体的列信息筛选用where
    GROUP BY testname; # 分组
    HAVING avg(score)>70 # 聚合数据筛选用having
    ORDER BY avg(score)desc; # ORDER BY一定在后方,最后是limit
    # 分组显示时,只有被分组的列数据有效,其余无效
    SELECT studentid'学号',username'学生姓名',introduce'学生简介',
    sum(score)'学生各科目总成绩',
    count(score)'学生参与考试科目数量',
    avg(score)'学生所有科目平均成绩',
    max(score)'学生所有科目成绩最高分',
    min(score)'学生所有科目成绩最低分'
    FROM result INNER JOIN class on result.studentid=class.id
    WHERE sex ='女'
    GROUP BY studentid,username,introduce
    having avg(score)>90
    ORDER BY avg(score) desc;
    
    SELECT * FROM result INNER JOIN class on result.studentid=class.id

标签:INSERT,score,DEFAULT,into,实例,分组,result,MySQL,values
From: https://blog.csdn.net/L0ve1t/article/details/137501781

相关文章

  • My SQL分组查询以及having筛选
    DDLCREATETABLE`student`(`id`int(11)NOTNULLAUTO_INCREMENTCOMMENT'学号',`createDate`datetimeDEFAULTNULL,`userName`varchar(20)DEFAULTNULL,`pwd`varchar(36)DEFAULTNULL,`phone`varchar(11)DEFAULTNULL,`age`tinyint(......
  • MySql分组查询及having筛选
    DDLCREATETABLE`result`(`rid`int(11)NOTNULLAUTO_INCREMENTCOMMENT'成绩编号',`testName`varchar(255)DEFAULTNULLCOMMENT'测试名称',`score`double(4,2)DEFAULTNULLCOMMENT'成绩',`studentId`int(11)DEFAULTNULLCO......
  • 基于SSM+Jsp+Mysql的农产品供销服务系统
    开发语言:Java框架:ssm技术:JSPJDK版本:JDK1.8服务器:tomcat7数据库:mysql5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:Maven3.3.9系统展示用户前台功能界面用户注册界面用户登录界面农产品界面个人中心界面收货地址界面确认下单界面......
  • MySQL面试题
    一、MySQL的事务隔离级别SQL中定义了4种隔离级别,不同的隔离级别对应着事务中做不同的修改,同时在事务内和事务间的可见性也不同。越低的隔离级别越能支持更高的并发,对系统的开销也越低。1.readuncommitted(未提交读)最低级别,允许一个事务读取另一个事务尚未提交的数据。这可......
  • MySQL 常见和不常见的所有查询语句
    介绍:MySQL是一个功能强大的关系型数据库管理系统,支持丰富的查询语句,用于从数据库中检索、插入、更新和删除数据。本文将介绍MySQL中常见和不常见的所有查询语句,并为每个语句提供示例。常见查询语句:1.select 从数据中检索数据select*fromtable_name;2.insert  向......
  • mysql数据库备份命令大全
    1.mysqldump命令#备份整个数据库mysqldump-uusername-pdbname>backup.sql#备份选择的表mysqldump-uusername-pdbnametable1table2>backup.sql#压缩备份文件mysqldump-uusername-pdbname|gzip>backup.sql.gz#恢复备份mysql-uusername-pdbname<backup.......
  • Springboot计算机毕业设计橙心优购微信小程序的设计与实现【附源码】开题+论文+mysql+
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着移动互联网的快速发展和普及,微信小程序作为一种新兴的移动应用形态,受到了广大用户的青睐。微信小程序不仅具备即用即走、无需安装的特点,而且能够......
  • Springboot计算机毕业设计宠物领养与物品捐赠小程序【附源码】开题+论文+mysql+程序+
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着人们生活质量的提升,越来越多的人选择宠物作为生活中的伴侣。然而,宠物数量的增长也带来了一系列问题,如流浪宠物数量的增加、宠物养护知识的缺乏等......
  • Mysql8.0高可用部署
    Mysql8.0高可用部署前言目前是三台服务器,每台服务器部署mysql、mgr、proxysql、keepalived,mysql8.0是通过mgr的方式来实现mysql服务的高可用,实现故障自动检测及自动切换,发生故障时能自动切换到新的主节点,但是当程序调用的mysql对应的服务宕机后,无法自动切换到正常服务上面......
  • 三种算法实例(二分查找算法、插入排序算法、贪心算法)
    当我们听到“算法”这个词时,很自然地会想到数学。然而实际上,许多算法并不涉及复杂数学,而是更多地依赖基本逻辑,这些逻辑在我们的日常生活中处处可见。在正式探讨算法之前,有一个有趣的事实值得分享:你已经在不知不觉中学会了许多算法,并习惯将它们应用到日常生活中了。下面我将举......