MYSQL——美团面试题

news/2025/1/16 0:00:07/

MYSQL——美团面试题

2023/3/27 美团二面

题目描述

Create table If Not Exists courses (student varchar(255), class varchar(255));insert into courses (student, class) values ('A', 'Math');
insert into courses (student, class) values ('B', 'English');
insert into courses (student, class) values ('C', 'Math');
insert into courses (student, class) values ('D', 'Biology');
insert into courses (student, class) values ('E', 'Math');
insert into courses (student, class) values ('F', 'Computer');
insert into courses (student, class) values ('G', 'Math');
insert into courses (student, class) values ('H', 'Math');
insert into courses (student, class) values ('I', 'Math');

请列出所有超过或等于5名学生的课。
在这里插入图片描述

应该输出

+---------+
| class   |
+---------+
| Math    |
+---------+

题解

方法一:使用 GROUP BY 子句和子查询【通过】
思路:
先统计每门课程的学生数量,再从中选择超过 5 名学生的课程。

算法:
使用 GROUP BY 和 COUNT 获得每门课程的学生数量。
这里面最终的要就是分组,分组之后再抓取超过5名学生的科目。

SELECTclass
FROM(SELECTclass, COUNT(DISTINCT student) AS numFROMcoursesGROUP BY class) AS temp_table
WHEREnum >= 5;

在这里插入图片描述

方法二:

使用 GROUP BY 和 HAVING 条件【通过】
算法
GROUP BY 子句后使用 HAVING 条件是实现子查询的一种更加简单直接的方法。

SELECTclass
FROMcourses
GROUP BY class
HAVING COUNT(DISTINCT student) >= 5;

在这里插入图片描述


http://www.ppmy.cn/news/35744.html

相关文章

Linux设备模型、平台设备驱动、设备树(device tree)、GPIO子系统以及pinctrl子系统介绍

文章目录一、Linux设备模型介绍(1)设备驱动模型总体介绍(2)设备驱动模型文件表现(3)设备驱动模型工作原理【1】总线【2】设备【3】驱动【4】注册流程二、平台设备驱动介绍(1)平台设备…

MySQL基础篇

基础概念 为什么要用数据库? 应用程序产生的数据是在内存中,如果程序退出或者断电,数据则会消失,使用数据库是为了永久保存数据 为什么不直接使用普通文件? 把数据写在硬盘文件中,当然可以实现持久化的…

【计组】性能指标——速度

衡量计算机性能的指标之一——速度,是指计算机执行完所有指令所耗费时间的长短。 一、概念: 引出了如下概念:机器字长:指计算机一次能处理的二进制位数,也就是我们通常说的32位64位计算机中的位。 机器字长决定了计算…

【Java】实现数据库连接池的方案

文章目录 jdbc事务数据库连接池ThreadLocal实现数据库连接池jdbc JDBC (Java Database Connectivity) 是用于在 Java 应用程序中连接和操作关系型数据库的 API。它提供了一种标准化的方式来访问不同数据库系统,使得开发人员可以使用相同的代码来访问不同的数据库。 JDBC 的基…

八、动态SQL

一、动态SQL MyBatis框架动态SQL技术是根据特定的条件拼接SQL语句的功能,存在的意义是为了解决拼接SQL语句字符串痛点问题 1.if标签 If标签可通过test属性(传递过来的数据)的表达式进行判断。 如果为true标签执行。在where 后面添加11横成立…

网络作业4【计算机网络】

网络作业4【计算机网络】前言推荐网络作业4一. 单选题(共5题,25分)二. 填空题(共3题,21分)三. 判断题(共3题,15分)四. 阅读理解(共1题,39分&#…

SparkSql编程开发

目录 一.spark集成hive方式 二.IDEA开发Demo 1.pom 2.示例数据文件 3.程序代码 4.运行结果

K8S + GitLab + Jenkins自动化发布项目实践(二)

K8S GitLab Jenkins自动化发布项目实践(二)Jenkins容器化部署部署NFS PV存储Jenkins部署Jenkins初始化安装Jenkins插件Jenkins主从架构配置Kubernetes插件配置安装nerdctl工具自定义Jenkins Slave镜像测试主从架构是否正常前置工作:已部署5…