mysql--学生表

news/2024/9/1 22:42:44

创建学生表

CREATE TABLE `student`  (

  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自动编号',

  `sno` bigint(20) NOT NULL COMMENT '学号',

  `name` varchar(15)  NOT NULL COMMENT '学生姓名',

  `sex` int(2) NULL DEFAULT NULL COMMENT '1-男,2-女',

  `cno` bigint(20) NULL DEFAULT NULL COMMENT '课程号',

  `score` float(64, 0) NULL DEFAULT NULL COMMENT '分数',

  PRIMARY KEY (`id`) USING BTREE

) ENGINE = InnoDB AUTO_INCREMENT = 36 ;

插入数据

INSERT INTO `test`.`student`(`sno`, `name`, `sex`, `cno`, `score`) VALUES (8, 'zhangsan8', 1, 2, 99);

INSERT INTO `test`.`student`(`sno`, `name`, `sex`, `cno`, `score`) VALUES (9, 'zhangsan9', 1, 1, 63);

INSERT INTO `test`.`student`(`sno`, `name`, `sex`, `cno`, `score`) VALUES (10, 'zhangsan10', 1, 6, 47);

INSERT INTO `test`.`student`(`sno`, `name`, `sex`, `cno`, `score`) VALUES (11, 'zhangsan11', 1, 1, 67);

INSERT INTO `test`.`student`(`sno`, `name`, `sex`, `cno`, `score`) VALUES (12, 'zhangsan12', 1, 7, 37);

INSERT INTO `test`.`student`(`sno`, `name`, `sex`, `cno`, `score`) VALUES (13, 'zhangsan13', 1, 1, 85);

INSERT INTO `test`.`student`(`sno`, `name`, `sex`, `cno`, `score`) VALUES (14, 'zhangsan14', 1, 7, 98);

INSERT INTO `test`.`student`(`sno`, `name`, `sex`, `cno`, `score`) VALUES (15, 'zhangsan15', 1, 1, 63);

INSERT INTO `test`.`student`(`sno`, `name`, `sex`, `cno`, `score`) VALUES (16, 'zhangsan16', 1, 6, 39);

INSERT INTO `test`.`student`(`sno`, `name`, `sex`, `cno`, `score`) VALUES (17, 'zhangsan17', 1, 1, 80);

INSERT INTO `test`.`student`(`sno`, `name`, `sex`, `cno`, `score`) VALUES (18, 'zhangsan18', 1, 2, 99);

INSERT INTO `test`.`student`(`sno`, `name`, `sex`, `cno`, `score`) VALUES (19, 'zhangsan19', 1, 1, 73);

INSERT INTO `test`.`student`(`sno`, `name`, `sex`, `cno`, `score`) VALUES (21, 'zhangsan20', 1, 7, 53);

INSERT INTO `test`.`student`(`sno`, `name`, `sex`, `cno`, `score`) VALUES (22, 'zhangsan21', 1, 1, 47);

INSERT INTO `test`.`student`(`sno`, `name`, `sex`, `cno`, `score`) VALUES (23, 'zhangsan22', 1, 6, 85);

INSERT INTO `test`.`student`(`sno`, `name`, `sex`, `cno`, `score`) VALUES (24, 'zhangsan23', 1, 1, 64);

INSERT INTO `test`.`student`(`sno`, `name`, `sex`, `cno`, `score`) VALUES (25, 'zhangsan24', 1, 2, 53);

INSERT INTO `test`.`student`(`sno`, `name`, `sex`, `cno`, `score`) VALUES (26, 'zhangsan25', 1, 2, 44);

INSERT INTO `test`.`student`(`sno`, `name`, `sex`, `cno`, `score`) VALUES (27, 'zhangsan26', 1, 6, 77);

INSERT INTO `test`.`student`(`sno`, `name`, `sex`, `cno`, `score`) VALUES (28, 'zhangsan27', 1, 7, 58);

INSERT INTO `test`.`student`(`sno`, `name`, `sex`, `cno`, `score`) VALUES (29, 'zhangsan28', 1, 7, 97);

INSERT INTO `test`.`student`(`sno`, `name`, `sex`, `cno`, `score`) VALUES (30, 'zhangsan29', 1, 6, 68);

INSERT INTO `test`.`student`(`sno`, `name`, `sex`, `cno`, `score`) VALUES (31, 'zhangsan30', 1, 2, 59);

INSERT INTO `test`.`student`(`sno`, `name`, `sex`, `cno`, `score`) VALUES (32, 'zhangsan31', 1, 1, 38);

INSERT INTO `test`.`student`(`sno`, `name`, `sex`, `cno`, `score`) VALUES (33, 'zhangsan32', 1, 2, 74);

INSERT INTO `test`.`student`(`sno`, `name`, `sex`, `cno`, `score`) VALUES (34, 'zhangsan33', 1, 6, 66);

INSERT INTO `test`.`student`(`sno`, `name`, `sex`, `cno`, `score`) VALUES (35, 'zhangsan34', 1, 7, 89);

查询:

  1. 查询每们课程的最高分、最低分、平均分
SELECT
	t.cno,
	MAX( t.score ),
	min(t.score ),
	AVG(t.score )
FROM
	student t 
GROUP BY
	t.cno;
  1. 查询每门课的最高分学生信息
SELECT
  temp.cno,
	s.sno,
	s.`name`,
	temp.maxScore
FROM
	student s
	INNER JOIN ( SELECT s.cno, MAX( s.score ) maxScore FROM student s GROUP BY s.cno ) temp on s.cno = temp.cno
	WHERE s.score = temp.maxScore

3、查查询每个本门的前三名

SELECT
   e1.* 
FROM
   student e1 
WHERE
   ( SELECT count( 1 ) FROM student e2 WHERE e2.cno = e1.cno AND e2.score >= e1.score ) <= 3 
ORDER BY
   cno,
   score DESC;

4、 查询每门课程都大于80分的学生信息

SELECT * FROM student s GROUP BY s.`name` having min(s.score) > 80

5、删除自动编编号不同其他信息相同的学生

DELETE 
FROM
	student 
WHERE
	id NOT IN (
SELECT
	min( temp.id ) AS id 
FROM
	( SELECT * FROM student s ) AS temp 
GROUP BY
	temp.cno,
	temp.sno,
	temp.score,
	temp.sno,
	temp.`name` 
);

http://www.niftyadmin.cn/n/1148573.html

相关文章

成都之行,始于好友相聚,别于好友相聚。

中秋&#xff0c;成都&#xff0c;始于曼姐请吃的第一顿川坝子火锅&#xff0c;别于人菠同学的墨西哥口味西餐&#xff0c;一座城市的温暖在于这里的同学和朋友&#xff0c;遗憾没能一一见上成都的朋友。 中秋&#xff0c;Airbnb成都民宿&#xff0c;火锅&#xff0c;串串&…

福建泉州软件企业将与微软“联姻”

福建省重点项目南威软件大厦&#xff12;&#xff18;日在泉州开工。南威软件大厦将与美国微软公司共建南威软件外包研发基地和泉州市微软技术中心。 该大厦将作为泉州微软技术中心的起步平台&#xff0c;在泉州市发展电子信息产业中发挥龙头带动作用&#xff0c;加快形成产业…

一个java的内存图

** JAVA的内存划分需要划分成为5个部分: ** 1、栈(Stack):存放的都是方法中的局部变量。 局部变量:方法的参数,或者是方法{}内部的变量 作用域:一旦超出作用域,立刻从栈内存当中消失 2、堆(Heap):凡是new出来的东西,都在堆当中。 堆内存里面的东西都有一个地址值:16进制 堆内…

Android多进程之手动编写Binder类

Android多进程系列 Android 多进程通信之几个基本问题Android多进程之Binder的使用分析系统生成的Binder类 package com.xxq2dream.aidl;public interface IBookManager extends android.os.IInterface {/*** Local-side IPC implementation stub class.*/public static abstra…

独辟蹊径 阿里软件掀起中国“SaaS”流行风

2008年初&#xff0c;中国软件行业最引人关注的话题莫过于“SaaS”&#xff0c;这一成功应用于国外的新型软件模式&#xff0c;在阿里软件推出亚洲首个“软件互联”平台后大方异彩。阿里软件独辟蹊径&#xff0c;采用“Open”平台的方式&#xff0c;吸引国内外众多IT巨头纷纷加…

18-09-25

阻止苹果或三星手机&#xff0c;浏览器默认的下拉加载事件 this.$refs.inter.addEventListener("touchstart", (ev) > {timeStamp ev.timeStamp;holdon true;ev ev.changedTouches[0];x ev.clientX;y ev.clientY;//阻止事件向上传递return false; }); 复制代码转载…

甲骨文西安分公司投入运营 为西部建设发挥作用

西安&#xff0c;2008年3月3日— 甲骨文中国公司&#xff08;注册名为甲骨文&#xff08;中国&#xff09;软件系统有限公司.&#xff09;今天举行甲骨文西安分公司成立仪式&#xff0c;宣布分公司正式投入运营。此举标志着甲骨文公司在加快参与陕西省信息化建设及软件产业发展…

XJNU-CTF 2018

闲来无事&#xff0c;最近在做CTF题&#xff0c;感觉再不练练手我就废了。 1.本地文件包含文件上传拿flag 地址题目&#xff1a;http://ctf.xjnu.edu.cn:666/ 1.png题目分析&#xff1a;看到题目&#xff0c;有两种思路&#xff1a;1).利用文件上传拿webshell&#xff0c;然后…