MySQL面试题 | 10.精选MySQL面试题

在这里插入图片描述

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6
🍨 阿珊和她的猫_CSDN个人主页
🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》
🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入门到实战全面掌握 uni-app》

文章目录

    • 如何使用 GROUP BY 子句和聚合函数?
    • 在上述查询中,如果我想按`order_id`列进行分组,应该如何修改查询语句?
    • 常见的聚合函数代码案例
    • 在 MySQL 中,NULL 和空字符串有什么区别?

如何使用 GROUP BY 子句和聚合函数?

在 MySQL 中,GROUP BY子句用于按照一个或多个列对结果集进行分组,然后可以使用聚合函数对每个组的数据进行聚合计算。

以下是使用GROUP BY子句和聚合函数的一般语法:

SELECT column1, aggregate_function(column2)
FROM table
GROUP BY column1;

在上述语法中,column1是用于分组的列名,可以指定一个或多个列。aggregate_function是一个聚合函数,用于对分组的数据进行计算。

以下是一些常见的聚合函数:

  1. COUNT()函数:用于计算指定列的行数。
  2. SUM()函数:用于计算指定列的总和。
  3. AVG()函数:用于计算指定列的平均值。
  4. MAX()函数:用于找出指定列的最大值。
  5. MIN()函数:用于找出指定列的最小值。

例如,假设有一个orders表包含了订单信息,包括order_idcustomer_idorder_amount列。要按照customer_id列进行分组,并计算每个客户的订单总数量,可以使用以下查询:

SELECT customer_id, SUM(order_amount) AS total_amount
FROM orders
GROUP BY customer_id;

这将返回每个客户的customer_id和对应的订单总数量。

请根据实际需求选择适当的列和聚合函数来进行分组和计算。

在上述查询中,如果我想按order_id列进行分组,应该如何修改查询语句?

如果你想按照order_id列进行分组,并计算每个订单的总数量,可以使用以下查询语句:

SELECT order_id, SUM(order_amount) AS total_amount
FROM orders
GROUP BY order_id;

在这个修改后的查询中,我们将GROUP BY子句中的列名改为order_id,这样查询结果将会按照order_id进行分组,并使用SUM函数计算每个订单的总数量。

常见的聚合函数代码案例

在 MySQL 中,上述提到的部分聚合函数代码案例如下:

  • AVG函数:用于计算指定列的平均值。
    SELECT avg(score) as '平均分' FROM class_score WHERE `subject` = '数学';
    
  • COUNT函数:用于计算符合指定条件的行数,或计算指定列的非空值数量。
    SELECT count(DISTINCT code) as '学生人数' FROM class_score;
    
  • MAX函数:用于找出指定列的最大值。
    SELECT max(score) as '最高分' FROM class_score WHERE `name` = '张山';
    
  • MIN函数:用于找出指定列的最小值。
    SELECT min(score) as '最低分' FROM class_score WHERE `name` = '张山';
    
  • SUM函数:用于计算指定列的总和。
    SELECT sum(score) as '总分' FROM class_score WHERE `name` = '张山';
    

请注意,实际使用中需将表class_score替换为实际的表名,将列subjectcodescore替换为实际的列名,将条件name = '张山’替换为实际的条件。

在 MySQL 中,NULL 和空字符串有什么区别?

在 MySQL 中,NULL和空字符串('')是两个不同的概念。

  • NULL值表示没有值、缺失值或未知值。它用于表示某个列或变量中没有明确的值。当一个列或变量被设置为NULL时,它不表示任何具体的内容。

  • 空字符串是一个包含零个字符的字符串。它与NULL不同,空字符串是一个明确的字符串值,只是它不包含任何字符。

在进行比较或操作时,NULL和空字符串的处理方式也不同:

  • 当比较一个列或变量与NULL值时,结果通常为不确定(除非使用了特殊的比较运算符,如IS NULLIS NOT NULL)。

  • 当比较一个列或变量与空字符串时,通常会将它们视为不同的值。

在数据库设计和编程中,了解NULL和空字符串的区别非常重要,因为它们在查询、连接和其他操作中可能会产生不同的结果。根据具体的需求,你可以选择将列设置为允许NULL值或限制为空字符串。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/324540.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

LLM之幻觉(二):大语言模型LLM幻觉缓减技术综述

LLM幻觉缓减技术分为两大主流,梯度方法和非梯度方法。梯度方法是指对基本LLM进行微调;而非梯度方法主要是在推理时使用Prompt工程技术。LLM幻觉缓减技术,如下图所示: LLM幻觉缓减技术值得注意的是: 检索增强生成&…

pytorch集智-5手写数字识别器-卷积神经网络

1 简介 简称:CNN,convolutional neural network 应用场景:图像识别与分类(CNN),看图说话(CNNRNN)等 优越性:和多层感知机相比,cnn可以识别独特的模式&…

如何做用户分层和标签体系

“活动作了一场接一场,简直要累死了,拉进来的客户也没有多少,投入产出完全不成比例,怎么办?“ “有那么多注册用户,但是GMV怎么才这么点,他们怎么不买啊,难道都是羊毛党?…

使用 TiUP 部署 TiDB 集群

TIDB优点 支持分布式且支持事务的关系型数据库,不用考虑分库分表 同时满足了可伸缩,高可用,关系型,支持事务。 基本上按官网的文档来就行了。 在线部署 以普通用户身份登录中控机。以 tidb 用户为例,后续安装 TiUP …

常用界面设计组件 —— 窗体(QT)

二、常用界面设计组件2.1 窗体2.1.1 设置窗体位置、大小及背景颜色2.1.2 设置窗体标题2.1.3 多窗体调用 二、常用界面设计组件 组件是GUI的基本元素,也称为UI控件。它接受来自底层平台的不同用户事件,如鼠标和键盘事件(以及其它事件&#xf…

漏洞复现-Yearning front 任意文件读取漏洞(附漏洞检测脚本)

免责声明 文章中涉及的漏洞均已修复,敏感信息均已做打码处理,文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的…

7_1 tesseract 安装及使用

1、 安装tesseract   OCR,即Optical Character Recognition,光学字符识别,是指通过扫描字符,然后通过其形状将其翻译成电子文本的过程。对于图形验证码来说,它们都是一些不规则的字符,这些字符确实是由字…

助力工业焊缝质量检测,YOLOv7【tiny/l/x】不同系列参数模型开发构建工业焊接场景下钢材管道焊缝质量检测识别分析系统

焊接是一个不陌生但是对于开发来说相对小众的场景,在我们前面的博文开发实践中也有一些相关的实践,感兴趣的话可以自行移步阅读即可:《轻量级模型YOLOv5-Lite基于自己的数据集【焊接质量检测】从零构建模型超详细教程》 《基于DeepLabV3Plus…

Android 仿快手视频列表,RecyclerView与Banner联动效果

这是看到群里讨论过快手APP的一个观看他人视频列表的一个联动效果,但是并不是完全按照这个软件的效果来做的,只是参考,并不是完全仿照这个软件来做的,没时间去优化排版问题了,请见谅,如图: 实现…

[链路层] 点对点协议 PPP

目录 1、PPP协议的特点 2、PPP协议的组成和帧格式 3、PPP协议的工作状态 目前使用得最广泛的数据链路层协议是点对点协议PPP(Point-to-Point Protocol)。 1、PPP协议的特点 我们知道,互联网用户通常都要连接到某个 ISP 才能接入到互联网。PPP 协议就是用户计算机…

【物以类聚】给el-image预览多张图片增加提示文字,让每张图片有所分类

【物以类聚】给el-image预览多张图片增加提示文字,让每张图片有所分类 一、需求二、el-image三、实施步骤3.1 导包3.2 改造3.3 引入 三、效果 一、需求 点击地图上的一张图片,弹出所有相关的图片资源,图片资源上显示每个图片的所属类型。 二…

一文读懂「Large Language Model,LLM」大语言模型

中国大语言模型产业价值链 资料 艾瑞咨询:https://www.iresearch.com.cn/Detail/report?id4166&isfree0&type

五指CMS copyfrom.php SQL注入漏洞复现(CVE-2023-52064)

0x01 产品简介 WUZHI CMS是北京五指互联科技有限公司 的一套基于PHP和MySQL的开源内容管理系统,响应式布局,一个网站兼容多个终端 微信接口全支持,快速构建微营销平台 开放接口,支持第三方APP无缝接入。 0x02 漏洞概述 Wuzhicms 内容管理系统的/core/admin/copyfrom.p…

vue基于spring boot框架的发艺美发店理发店管理系统的设计q9xpe

店铺信息、美发信息是发艺美发店管理系统的重要组成部分,信息清晰、详细、准确,能够有效地促进发艺美发店管理系统的运行[5]。基础设定函数是对整个系统的总体布局进行合理安排,包括:店铺活动、物品信息、领用信息等。通过对各类资…

openpyxl绘制图表

嘿,你是不是在处理Excel文件时感到束手无策?是不是想要一个简单而又强大的工具来处理数据分析和图表制作?别担心,我们有解决方案!让我向你介绍openpyxl,这是一个Python库,专门用于处理Excel文件…

通过myBatis将sql语句返回的值自动包装成一个java对象(2)

1.之前我们是如何执行一个sql语句自动包装成一个java对象呢? 1.创建一个mapper.xml,定义 执行的语句名字 和 包装成什么类 2.在总的配置文件里申明这个mapper 3.在java里通过sqlSession执行mapper里定义好的内容 我们还可以使用另一种方法实现第三步。现…

力扣每日一练(24-1-16)

我一开始想到的是,如果数字相同则加一。 然而,对了一点点,而已。 高手的方法不是普通人在几分钟内能想得出来的,hh 继续补充: 如果数字不同则减一,如果计数到达了0,则更新数字,最…

AWS边缘媒体安全交付方案

企业如何在AWS上的边缘站点,安全的将优质视频内容交付给用户,并且禁止哪些未经过授权的访问?九河云将基于AWS平台提供边缘媒体安全交付解决方案 解决方案详情 在通过 Amazon CloudFront 交付时,免受未经授权的访问。基于添加到交…

云畅科技技术中心被认定为湖南省省级企业技术中心

近日,湖南省工业和信息化厅公布《2023年第二批湖南省省级企业技术中心(第29批)》,云畅科技技术中心作为研发设计型代表入选。 省级企业技术中心是强化企业技术创新主体地位,增强企业自主创新能力,推动工业企业高质量发展的一个重要…

数据结构学习 jz59 滑动窗口的最大值

关键词:排序 大顶堆 双端队列 题目: 望远镜中最高的海拔 方法一:维护一个辅助队列。 方法二:大顶堆。 我还在主站 239 写了找最小值的方法。 方法一:最优解 这个方法和jz30维护一个非严格递减的辅助栈是基本一样的…