首页 > 数据库 >MySql分组查询 group by

MySql分组查询 group by

时间:2024-04-03 12:02:02浏览次数:19  
标签:insert group 10 DEFAULT into 分组 result MySql values

DDL  学生表  成绩表


CREATE TABLE `student` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '学号',
  `createDate` datetime DEFAULT NULL,
  `userName` varchar(20) DEFAULT NULL,
  `pwd` varchar(36) DEFAULT NULL,
  `phone` varchar(11) DEFAULT NULL,
  `age` tinyint(3) unsigned DEFAULT NULL,
  `sex` char(2) DEFAULT '男',
  `introduce` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
 
CREATE TABLE `result` (
  `rid` int(11) NOT NULL AUTO_INCREMENT COMMENT '成绩编号',
  `testName` varchar(255) DEFAULT NULL COMMENT '测试名称',
  `score` double(4,2) DEFAULT NULL COMMENT '成绩',
  `studentId` int(11) DEFAULT NULL COMMENT '学生id',
  PRIMARY KEY (`rid`),
  KEY `studentId` (`studentId`),
  CONSTRAINT `result_ibfk_1` FOREIGN KEY (`studentId`) REFERENCES `student` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

DML

insert into student values(0,'2024-02-25 10:10:10','赵灵儿','123',
'15612345678',16,'女','逍遥哥哥,你终于找到我了。');
insert into student values(0,'2024-02-25 10:10:10','王语嫣','123',
'15612345678',17,'女','慕容复,我和你不共戴天。');
insert into student values(0,'2024-02-25 10:10:10','龙姑娘','123',
'15612345678',22,'女','我想过过过儿过过的日子。');
insert into student values(0,'2024-02-25 10:10:10','杨过','123',
'15612345678',18,'男','一遇杨过误终身。');
insert into student values(0,'2024-02-25 10:10:10','杨逍','123',
'15612345678',27,'男','杨过跟程英的大儿子。');
insert into student (userName,age,introduce)values('黄衣女子',26,'杨过与龙姑娘的大女儿。');
 
insert into result values(0,'政治',96,1);
insert into result values(0,'地理',86,5);
insert into result values(0,'政治',77,3);
insert into result values(0,'英语',99,3);
insert into result values(0,'历史',22,6);
insert into result values(0,'化学',69,2);
insert into result values(0,'Java',79,5);
insert into result values(0,'Java',67,6);
insert into result values(0,'政治',97,2);
insert into result values(0,'物理',76,6);
insert into result values(0,'物理',82,2);
insert into result values(0,'化学',56,4);

DQL

select testName,count(testName),sum(score),avg(score) from result GROUP BY testName;

查询

select userName,testName,score FROM result,student
WHERE result.studentId=student.id;
#笛卡尔积M*N
SELECT userName,
COUNT(score) '参与考试数量',
AVG(score) '每人平均分数',
SUM(score) '每人的总分'
FROM result,student
WHERE result.studentId=student.id
AND score>60
GROUP BY userName;

标签:insert,group,10,DEFAULT,into,分组,result,MySql,values
From: https://blog.csdn.net/2301_82312762/article/details/137233718

相关文章

  • linux下mysql8.0更新密码报错解决方案(已知密码)
    先登录./mysql-uroot-p输入密码 然后更改密码直接执行ALTERUSER'root'@'localhost'IDENTIFIEDBY'密码';会失效会报:ERROR1396(HY000):OperationALTERUSERfailedfor'root'@'localhost'进行如下操作即可usemysql;updateuserset......
  • 02 MySQL 介绍、安装、使用、配置
    概述MySQL是最流行的开源数据库服务器MySQL是一种数据库。数据库定义了存储信息的结构,在数据库中,存在着一些表。类似HTML表格,数据库表含有行、列以及单元。MySQL数据库通常是通过PHP来使用的,对PHP的支持最好MySQL所使用的SQL语言是用于访问数据库的最常用标......
  • 【阅读笔记】MySQL数据库存储类型选择
    摘自:《高性能MySQL》第四版原则更小的通常更好一般来说,尽量使用能够正确存储和表示数据的最小数据类型。更小的数据类型通常更快,因为它们占用的磁盘、内存和CPU缓存的空间更少,并且处理时需要的CPU周期也更少。简单为好简单数据类型的操作通常需要更少的CPU周期。例如,整型数......
  • MySQL的多层SP中Cursor的m_max_cursor_index相关BUG分析
    源码分析丨MySQL的多层SP中Cursor相关BUG一、问题发现在一次开发中在sp中使用多层cursor的时候想知道每层的m_max_cursor_index值分别是多少,以用来做后续开发。于是做了以下的试验,但是发现第一个level=2那层的m_max_cursor_index的值有点问题。注:本次使用的MySQL数据库版本为......
  • 国产达梦数据库与mysql特点、区别、发展前景
    国产达梦数据库与mysql的区别国产达梦数据库(DM)和MySQL是两种不同的关系型数据库管理系统(RDBMS),它们有许多区别,包括特性、功能、性能、可用性、适用场景等。以下是它们之间的一些主要区别:公司背景:MySQL:MySQL最初由瑞典的MySQLAB公司开发,后来被SunMicrosystems收购,随......
  • Batch、Layer、Instance、Group四种Norm
    归一化NormalizationBatchNorm的初衷是解决InternalCovariateShift问题。尽可能将mini-batch归一化到标准正态分布,使得网络层的输出分布趋于稳定。InternalCovariateShift问题简单来说,是网络学习更新权重后可能会改变输出的分布,导致下一层总是迟一步适应这次的分布。......
  • mysql基于布尔的盲注,使用python脚本爆破
    使用python脚本,判断返回页面中是否包含成功的flag图片,爆破出来数据库中的内容,实现自动爆破importrequestsimporttimeurl="http://127.0.0.1/sqli-labs-master/Less-14/"payload={"uname":"","passwd":"123456","submit&q......
  • MySQL、Redis 和 Zookeeper 实现分布式锁方法及优缺点
    MySQL、Redis和Zookeeper都可以用来实现分布式锁,每种技术都有其特定的实现方法以及各自的优缺点。MySQL分布式锁实现方法在MySQL中实现分布式锁通常涉及到使用数据库表。可以创建一个专用的锁表,并利用行的唯一性(例如利用唯一索引)来实现锁机制。使用基于事务的 FORUP......
  • docker下mysql连接数修改后不生效问题的解决
    使用容器的方式使用mysql,在创建mysql容器的时候,映射了配置文件的路径(我映射的路径是:/home/env/mysql/config/),当修改了路径中配置文件中的最大连接数后,重启容器后,发现参数是不生效的情况,你遇到过吗?先说结果:是权限的问题,777权限会被mysql认为是安全的问题,忽略这种文件。具体如下:......
  • 配置Linux上的MySQL
    MySQL数据库环境搭建和编程MySQL环境安装设置ubuntu环境安装mysql-server和mysql开发包,包括mysql头文件和动态库文件,命令如下:sudoapt-getinstallmysql-server=》安装最新版MySQL服务器sudoapt-getinstalllibmysqlclient-dev=》安装开发包ubuntu默认安装最新的mysq......