MySQL中这些关键字的用法,佬们get到了嘛

前言:
最近粉丝问了一个问题,是关于Limit分页的用法,他没有理解清楚,因此本篇文章主要讲解MySQL的关键字的知识。该专栏比较适合刚入坑Java的小白以及准备秋招的大佬阅读。

如果文章有什么需要改进的地方欢迎大佬提出,对大佬有帮助希望可以支持下哦~

小威在此先感谢各位小伙伴儿了😁

在这里插入图片描述

以下正文开始

文章目录

  • GROUP BY用法
  • ORDER BY用法
  • LIMIT关键字用法

在这里插入图片描述

GROUP BY用法

在MySQL中,GROUP BY语句用于将结果集按照一个或多个列进行分组。它常与聚合函数(如SUM、COUNT、AVG等)一起使用,对分组后的数据进行汇总计算。

GROUP BY语句具体怎么用呢,接下来详细说明:

基本语法:

SELECT1,2, ..., 聚合函数
FROM 表名
GROUP BY1,2, ...GROUP BY子句中列出了要分组的列。查询结果将根据这些列的值进行分组。

聚合函数是什么,怎么用?

可以在SELECT语句中使用各种聚合函数来计算分组后的结果,例如SUM、COUNT、AVG、MAX、MIN等。在GROUP BY语句中,聚合函数通常用于计算每个分组的值

  1. 过滤分组:
    我们可以在GROUP BY语句之前使用HAVING子句进行分组后的结果过滤。HAVING子句类似于WHERE子句,但它用于过滤分组后的数据

  2. 排序分组:
    可以在GROUP BY语句之后使用ORDER BY子句对分组后的结果进行排序。我们可以根据列名指定排序顺序以及使用ASC(升序)或DESC(降序)关键字。

  3. 多列分组:
    GROUP BY语句可以根据一个或多个列进行分组。列出的列将成为分组的依据,组合形成唯一的分组键。例如:

SELECT1,2, ..., 聚合函数
FROM 表名
GROUP BY1,2, ...

在使用GROUP BY时,我们需要注意的是:

SELECT语句中的列必须是GROUP BY子句中列出的列或聚合函数。

如果列中包含非聚合列且未在GROUP BY子句中列出,MySQL会根据该列进行隐式分组,但结果可能不符合预期。

GROUP BY子句中可以使用列的别名,而SELECT子句中不能使用。

我们使用一个小例子,演示如何使用GROUP BY语句:

SELECT department, COUNT(*) as total_employees, AVG(salary) as avg_salary
FROM employees
GROUP BY department
HAVING avg_salary > 5000
ORDER BY total_employees DESC;

以上小栗子中,我们按照部门分组员工信息,计算每个部门的员工总数和平均薪资,并过滤出平均薪资超过5000的部门,并按照员工总数降序排序。
在这里插入图片描述

ORDER BY用法

MySQL中,ORDER BY子句用于对查询结果进行排序。它可以按照一个或多个列进行升序(ASC)或降序(DESC)排序。

下面讲解一下ORDER BY子句的详细用法说明:

首先介绍下其基本语法:

SELECT1,2, ...
FROM 表名
ORDER BY1 [ASC|DESC],2 [ASC|DESC]

在ORDER BY子句中,我们可以使用一个或多个列作为排序依据,并为每个列指定排序顺序,ASC为升序(默认),DESC为降序。

  • 单列排序: 如果只需要按照单个列进行排序,可以直接指定列名并选择排序顺序。

举个栗子:

SELECT1,2, ...
FROM 表名
ORDER BY1 DESC;

上面是,根据列1的值进行降序排序。

  • 多列排序: 如果需要按照多个列进行排序,可以在ORDER BY子句中指定多个列,并为每个列选择排序顺序。

例如:

SELECT1,2, ...
FROM 表名
ORDER BY1 DESC,2 ASC;

上面是,首先根据列1的值进行降序排序,如果出现相同的值,则根据列2的值进行升序排序。

  • 排序NULL值: 可以使用NULLS FIRSTNULLS LAST关键字指定空值在排序中的位置。NULLS FIRST表示空值排在前面,NULLS LAST表示空值排在后面。

例如:

SELECT1,2, ...
FROM 表名
ORDER BY1 NULLS LAST;

上面上,空值将排在列1的排序结果的最后。

我们在使用ORDER BY关键字时需要注意,在ORDER BY子句中可以使用列的别名,但不能使用SELECT子句中的表达式或聚合函数

通过一个栗子,为大家演示如何使用ORDER BY子句:

SELECT name, age, salary
FROM employees
ORDER BY salary DESC, age ASC;

上面上,我们按照薪资降序排序,并且对于相同薪资的员工,按照年龄升序排序。

因此,ORDER BY子句在MySQL中用于对查询结果进行排序。我们可以指定一个或多个列,并选择排序顺序。
在这里插入图片描述

LIMIT关键字用法

MySQL中,LIMIT关键字用于限制查询结果的返回行数。它可以帮助我们分页显示结果,或者仅返回某个范围内的行。

下面是LIMIT关键字的详细用法说明:

首先还是先介绍基本语法:

SELECT1,2, ...
FROM 表名
LIMIT 行数;

LIMIT子句会限制查询结果返回的行数。我们可以指定要返回的行数,例如10表示返回前10行。

  • 分页查询: 在实际应用中,常常需要进行分页查询,只返回指定页码的结果。在LIMIT子句中,可以指定两个参数,第一个参数为起始位置(偏移量),第二个参数为返回的行数

举个栗子:

SELECT1,2, ...
FROM 表名
LIMIT 偏移量, 行数;

偏移量表示从查询结果的哪一行开始返回结果,行数表示返回的行数。

偏移量的计算公式为:(页码 - 1) * 每页行数

例如,如果每页显示10行数据,要查询第3页的数据,则偏移量为 (3-1)*10 = 20,表示从结果的第21行开始返回。

  • 可选的简化写法: LIMIT子句还有一种简化写法,只指定要返回的行数,而不指定偏移量。

举个栗子:

SELECT1,2, ...
FROM 表名
LIMIT 行数 OFFSET 偏移量;

这种写法和第一种情况是等价的。

  • 限制查询结果: LIMIT子句也可以用于限制查询结果的返回范围。比如,我们可以指定返回前10条记录中的第5到第8行。

举个栗子:

SELECT1,2, ...
FROM 表名
LIMIT 4, 8;

上面小栗子,返回结果将从第5行开始,返回8行数据。

因此我们需要注意的是,在使用LIMIT子句时,偏移量和行数都应该是非负整数。

文章到这里就先结束了,感兴趣的可以订阅专栏哈,后续会继续分享相关的知识点。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Unity】HyBridCLR初探

完成目标: 创建热更新程序集加载热更新程序集,并执行其中热更新代码,打印 Hello, HybridCLR修改热更新代码,打印 Hello, World准备环境​ 安装Unity HybridCLR也支持2019.4.x,但新手请先按照下面要求跑通流程后,再根据安装HybridCLR文档尝试2019.4.x。 安装 2020.3.26+…

基本介绍实施工程师,以及实施工程师在软件开发的作用

一.软件实施介绍 1.什么是软件实施? 软件实施是指将软件开发完成后,按照计划进行部署和安装,使软件能够在目标环境中正常运行的过程。下面是软件实施的一般步骤: 1. 规划和准备:确定实施的范围、目标和计划&#xff0…

Oracle中的连接方式

Oracle中的连接方式 对于数据库中表与表之间的连接(内连接、外连接)都可以看成集合之间的运算操作。 内连接 select * from a_table a inner join b_table b on a.id b.id; 相当于求两个集合中满足条件的结果,即交集。 外连接 左/外连接&a…

清华青年AI自强作业hw5:基于CNN实现CIFAR10分类任务

清华青年AI自强作业hw5:基于CNN实现CIFAR10分类任务 简述作业实现遇到的问题相关链接 一起学AI系列博客:目录索引 简述 hw5作业为利用深度卷积神经网络实现CIFAR_10数据集十分类问题,帮助理解CNN的前向传播结构。 CIFAR-10是一个常用的彩色图…

能够辅助用户分类管理个人任务的备忘录哪款比较好?

当我回忆起自己曾经忙碌的日子,我意识到在处理多种事务时,一个高效的分类管理系统是多么的重要。在那段时间里,我不仅要应对工作上的各种任务,还要处理个人事务和日常琐事。随着任务的增加,我发现自己越来越难以有效地…

基于深度学习的高精度红外行人车辆检测识别系统(PyTorch+Pyside6+YOLOv5模型)

摘要:基于深度学习的高精度红外行人车辆检测识别系统可用于日常生活中或野外来检测与定位红外行人车辆目标,利用深度学习算法可实现图片、视频、摄像头等方式的红外行人车辆目标检测识别,另外支持结果可视化与图片或视频检测结果的导出。本系…

Tomcat部署及优化

一、Tomcat概述1.1 Tomcat介绍1.2 servlet介绍1.3 JSP介绍 二、Tomcat核心组件2.1 Tomcat三大容器2.2 Tomcat功能组件结构2.2.1 Container结构分析 2.3 Tomcat处理请求过程 三、Tomcat服务部署3.1 关闭防火墙,将安装 Tomcat 所需软件包传到/opt目录下3.2 安装JDK3.3…

【Web3】认识以太坊钱包

目录 区块链钱包概念 密码 私钥 Private Key 公钥Public Key Keystore 助记词 Mnemonic 如何解锁账户 区块链钱包概念 钱包用来存钱的,在区块链中,我们的数字资产都会对应到一个账户地址上, 只有拥 有账户的钥匙(私钥&…

【Java可执行命令】(五)打包部署工具 jar:深入解析应用程序打包、分发和部署工具jar ~

Java可执行命令详解之jar 1️⃣ 概念2️⃣ 优势和缺点3️⃣ 使用3.1 语法格式:创建jar文件3.1.1 参数:-cf3.1.2 参数:-tf3.1.3 参数:-i3.1.4 参数:-v3.1.5 参数:-e 3.2 运行jar文件 4️⃣ 应用场景5️⃣ 注…

fdisk和df -h的区别以及如何看懂和提取信息

前几天要查看linux系统磁盘大小,但是发现fdisk和df -h出来的大小和信息不一样,了解了一下linux的磁盘分区和内存大小,查阅了相关资料,总结以下信息: 一、相关理念 在计算机中,存放信息的主要存储设备就是…

c++摘花生

先看题目: Hello Kitty想摘点花生送给她喜欢的米老鼠。 她来到一片有网格状道路的矩形花生地(如下图),从西北角进去,东南角出来。 地里每个道路的交叉点上都有种着一株花生苗,上面有若干颗花生,经过一株花生苗就能摘…

如何用 PowerPoint 制作滚动字幕

想知道如何使用 PowerPoint 制作滚动字幕吗?让您的演示更生动有趣!请紧跟以下教程,学习这个令人赞叹的技巧! 是不是你觉得自己制作的PPT过于呆板和无聊,而别人的PPT却充满了高级和趣味?原因在于你的PPT缺乏…