当前位置:首页 > 数据库 > mysql面试题目1

mysql面试题目1

2022年09月17日 15:13:19数据库6

有这样一个成绩表,学生A,B,C,三个人,考试科目分别为C(chinese),M(math),E(english)

mysql面试题目1 _ JavaClub全栈架构师技术笔记

求三门课成绩都大于80分的那个学生姓名:

mysql面试题目1 _ JavaClub全栈架构师技术笔记

即查询的方法可分为俩种:select name from class3 group by name having min(grade)>80

或者select distinct name from class3 where name not in (select distinct name from class3 where grade<80)

2.删除表中除了stu_id不同,其它都相同的信息

mysql面试题目1 _ JavaClub全栈架构师技术笔记

 

 sql用法:

 

Delete from class3 where stu_id not in (select min(stu_id) from class3 group by name,project,grade);

但是由于mysql自身的原因,执行此用法的时候,报错。

mysql:

DELETE from class3 where stu_id not in (select bid from (select min(stu_id) as bid from class3 GROUP by name,project,grade)as b);

 

总之原理就是:将表中的数据按除stu_id之外的所有列进行分组   之后每个组的数据就是除了stu_id都相同的数据了   这样每个组只需保留一条记录即可  这是使用max(stu_id)或者min(stu_id)都可以 总之只要从每组取出一个stu_id即可  然后将整个表中的记录stu_id不在所选择出的stu_id之列的全部删除即可 

 

作者:时间带着假象流淌
来源链接:https://www.cnblogs.com/ConnorShip/p/9927602.html

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/database/42643.html

标签: MySQL
分享给朋友:

“mysql面试题目1” 的相关文章

一文带你了解MySQL基础

目录 一,为什么要学习数据库 二,数据库的相关概念 2.1数据库术语...

MySQL表的增删改查(进阶)

MySQL表的增删改查(进阶)

数据库的约束 约束类型 NOT NULL UNIQUE DEFAULT PRIMARY...

MYSQL的存储过程

MYSQL的存储过程 概述 什么是存储过程? mysql5.0版本开始支持存储过程; 简单的说,存储过程就是一组sql语句集,功能强大,可以实现一些比较复杂的逻辑功能,类似于java语言中的方法; 存储过程就是数据库s...

MySQL安装之yum安装

MySQL安装之yum安装

 在CentOS7中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。 1. 下载并安装MySQL官方的 Yum Repository [root@Bria...

JDBC连接时所犯错误1.字符集设置不合适2.连接MySQL8.0社区版时时区不一致3..包名不能以Java.命名4.驱动被弃用

Microsoft JDBC Driver 的主页为:https://msdn.microsoft.com/en-us/data/aa937724.aspx 下载所需驱动 今天连接时报了四次错,记录下来 1.java.sql.SQLException:...

JDBC如何连接mysql数据库附详细步骤

JDBC如何连接mysql数据库附详细步骤

JDBC连接数据库在学习中是很重要的一个环节,今天给大家详细说明JDBC连接数据库需要的步骤 1.加载驱动 驱动包的下载地址 https://dev.mysql.com/downloads/connector/j/ 到时候要将这个加载到项目中然后输入...

Mysql 查询结果赋值到变量

1. 单个赋值 - 使用into SELECT `name` INTO @name FROM table WHERE `id`=1 ; 2.多个赋值 - 直接赋值 SELECT @name:=`name`, @phone:=`phone` FROM t...

mysql查询最后一条记录

首先要确定什么是最后一条。 是编辑时间最新的为最后一条,还是某个字段数字最大的未最后一条。 比如以时间最大为最后一条,则将符合条件的资料都筛选出来,再按时间排序,再取一笔资料。 SQL如下: select a,b from table whe...

mysql的查询句

1、查询特定列:select 列名 from 表名;(必须先进入数据库)或者 select 列名 from 数据库.表名; 2、查询多个列:select 列1,列2,。。。 from 表名; 3、除去重复列查询:select distinct 列名 fr...

MySQL查询某个字段不重复的所有记录

MySQL查询某个字段不重复的所有记录

select a.id,a.ip,a.creationTime from myTable a right join ( select max(id) id from myTable group by ip) b on b.id = a.id where a.id is not n...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。