排序与分页——“MySQL数据库”

news2024/11/19 2:45:04

各位CSDN的uu们你们好呀,今天,小雅兰的内容是MySQL数据库里面的排序与分页,下面,让我们进入排序与分页的世界吧!!!


排序数据

分页


排序数据

排序规则

使用 ORDER BY 子句排序  

ASC(ascend): 升序

DESC(descend):降序

ORDER BY 子句在SELECT语句的结尾。

单列排序

SELECT   last_name, job_id, department_id, hire_date

FROM     employees

ORDER BY hire_date ;

 

SELECT   last_name, job_id, department_id, hire_date

FROM     employees

ORDER BY hire_date DESC ;

 

SELECT employee_id, last_name, salary*12 annsal

FROM   employees

ORDER BY annsal;

 

多列排序

SELECT last_name, department_id, salary

FROM   employees

ORDER BY department_id, salary DESC;

 

可以使用不在SELECT列表中的列排序。

在对多列进行排序的时候,首先排序的第一列必须有相同的列值,才会对第二列进行排序。如果第 一列数据中所有值都是唯一的,将不再对第二列进行排序。  


分页

背景

背景1:查询返回的记录太多了,查看起来很不方便,怎么样能够实现分页查询呢?

背景2:表里有 4 条数据,我们只想要显示第 2、3 条数据怎么办呢?

实现规则

  • 分页原理——所谓分页显示,就是将数据库中的结果集,一段一段显示出来需要的条件。
  • MySQL中使用 LIMIT 实现分页
  • 格式: LIMIT [位置偏移量,] 行数
  • 第一个“位置偏移量”参数指示MySQL从哪一行开始显示,是一个可选参数,如果不指定“位置偏移 量”,将会从表中的第一条记录开始(第一条记录的位置偏移量是0,第二条记录的位置偏移量是1,以此类推);第二个参数“行数”指示返回的记录条数。
  • 举例

--前10条记录:

SELECT * FROM 表名 LIMIT 0,10;

或者

SELECT * FROM 表名 LIMIT 10;

--第11至20条记录:

SELECT * FROM 表名 LIMIT 10,10;

--第21至30条记录:

SELECT * FROM 表名 LIMIT 20,10;

 MySQL 8.0中可以使用“LIMIT 3 OFFSET 4”,意思是获取从第5条记录开始后面的3条记录,和“LIMIT 4,3;”返回的结果相同。

分页显式公式:(当前页数-1)*每页条数,每页条数

SELECT * FROM table 

LIMIT(PageNo - 1)*PageSize,PageSize;

注意:LIMIT 子句必须放在整个SELECT语句的最后!

使用 LIMIT 的好处:约束返回结果的数量可以 减少数据表的网络传输量 ,也可以 提升查询效率 。如果我们知道返回结果只有1 条,就可以使用 LIMIT 1 ,告诉 SELECT 语句只需要返回一条记录即可。这样的好处就是 SELECT 不需 要扫描完整的表,只需要检索到一条符合条件的记录即可返回。

拓展

在不同的 DBMS 中使用的关键字可能不同。在 MySQL、PostgreSQL、MariaDB 和 SQLite 中使用 LIMIT 关键字,而且需要放到 SELECT 语句的最后面。

如果是 SQL Server 和 Access,需要使用 TOP 关键字,比如:

SELECT TOP 5 name, hp_max FROM heros ORDER BY hp_max DESC

如果是 DB2,使用 FETCH FIRST 5 ROWS ONLY 这样的关键字:

SELECT name, hp_max FROM heros ORDER BY hp_max DESC FETCH FIRST 5 ROWS ONLY

如果是 Oracle,你需要基于 ROWNUM 来统计行数:

 SELECT rownum,last_name,salary FROM employees WHERE rownum < 5 ORDER BY salary DESC;

需要说明的是,这条语句是先取出来前 5 条数据行,然后再按照 hp_max 从高到低的顺序进行排序。但这样产生的结果和上述方法的并不一样。 


好啦,小雅兰今天的内容就到这里啦,继续加油呀!!!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在JavaScript中,什么是浏览器事件循环(browser event loop)?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 浏览器事件循环&#xff08;Browser Event Loop&#xff09;⭐ 执行同步任务⭐ 处理微任务队列&#xff08;Microtask Queue&#xff09;⭐ 处理宏任务队列&#xff08;Macrotask Queue&#xff09;⭐ 重复循环⭐ 写在最后 ⭐ 专栏简介 前…

一、K近邻算法K-NN

一、算法思路 K近邻算法&#xff0c;k-nearest neighbor&#xff0c;即K-NN 通俗来说&#xff1a;给定一个元素&#xff0c;然后以该元素坐标为圆心开始画圆&#xff0c;其中K值是超参数需要人为给定&#xff0c;圆的半径逐渐增大(距离度量采用欧氏距离)&#xff0c;直到包含其…

【电子元件】常用电子元器件的识别之电容器

目录 前言1. 电容器的简介2.电容器的识别1. 铝电解电容器2.钽电解电容器3.固态电解电容器4.瓷介电容器5. 贴片陶瓷电容器6. 聚丙烯电容7. 金属化聚丙烯薄膜电容器8. 独石电容器9. 涤纶电容器10. 超小型金属化聚酯薄膜电容器11. 可变电容器11.1 空气可变电容器11.2 薄膜介质可变…

Vue前端页面打印

前端依赖10-插件"print-js": “^1.6.0” 一&#xff1a;简介 print-js 是一个 Vue.js 插件&#xff0c;用于在 Vue.js 项目中实现打印功能。它依赖于 print-js 库&#xff0c;所以需要安装这个库。 能实现以下功能&#xff1a; PDF打印&#xff08;默认&#xff…

Python语言:求水仙花数案例讲解

求水仙花数是循环和判断语句相结合的一个经典案例。 思路分析 通过循环遍历100到999之间的数字然后根据他们的个位&#xff0c;十位&#xff0c;百位上的数字立方和是否为他本身来判断分析得出什么数是水仙花数。 1&#xff09;如何循环遍历100到999的所有数字&#xff1f; 使…

10分钟开发Kubernetes Operator

Operator是扩展原生Kubernetes能力的主要模式&#xff0c;本文通过一个简单示例&#xff0c;介绍了如何从0开始构建Kubernetes Operator实现用户自定义功能。原文: Build a Kubernetes Operator in 10 Minutes 你也许能够将应用熟练的部署到Kubernetes[1]上&#xff0c;但你知道…

MAUI android连接sqlserver

PDA是android系统&#xff0c;调用金蝶云星空webapi实现仓库收发料&#xff0c;使用读取webapi有些功能无法实现&#xff0c;需要直接读写数据库&#xff0c;读取报错&#xff0c;如图&#xff1a; 用控制台程序测试正常读取 google搜索了一圈&#xff0c; 都需要使用ssl证书才…

华为云云耀云服务器 L 实例评测|配置教程 + 用 Python 简单绘图

文章目录 Part.I IntroductionChap.I 云耀云服务器 L 实例简介Chap.II 参与活动步骤 Part.II 配置Chap.I 初步配置Chap.II 配置安全组 Part.III 简单使用Chap.I VScode 远程连接华为云Chap.II 简单绘图 Reference Part.I Introduction 本篇博文是为了参与华为“【有奖征文】华…

为建模而建模,高成本的临床预测模型意义何在?

9.23-24 郑老师“量表与中介研究数据分析”课程&#xff0c;欢迎报名 “量表与中介研究数据分析”9.23-24直播课&#xff0c;发文后退款 关于预测模型&#xff0c;周三有位同学过来咨询我&#xff0c;说“郑老师&#xff0c;毕业论文&#xff0c;建一个脑卒中患者抑郁的预测模型…

Linux 简介 启动过程

简介 Linux 是一套免费使用和自由传播的开放源码的类 UNIX 操作系统&#xff0c;英文解释为&#xff1a; Linux is not Unix。1991 年由林纳斯托瓦兹&#xff08;Linus Torvalds&#xff09;在赫尔辛基大学上学时出于个人爱好而编写的&#xff0c;主要受到 Minix 和 Unix 思想的…

JavaSE---常用的API

1. 什么是API&#xff1f; API (Application Programming interface) 应用程序编程接口。通俗来讲&#xff0c;就是Java已经帮我们写好了一些方法&#xff0c;我们直接拿过来用即可。 iodraw&#xff1a;https://www.iodraw.com/ API在线中文文档&#xff1a;https://www.ma…

Python入门教程39:教你使用distutils本地发布模块与模块安装的操作

★★★★★博文创作不易&#xff0c;我的博文不需要打赏&#xff0c;也不需要知识付费&#xff0c;可以白嫖学习编程小技巧。使用代码的过程中&#xff0c;如有疑问的地方&#xff0c;欢迎大家指正留言交流。喜欢的老铁可以多多点赞收藏分享置顶&#xff0c;小红牛在此表示感谢…

RabbitMQ消息可靠性(一)-- 生产者消息确认

前言 在项目中&#xff0c;引入了RabbitMQ这一中间件&#xff0c;必然也需要在业务中增加对数据安全性的一层考虑&#xff0c;来保证RabbitMQ消息的可靠性&#xff0c;否则一个个消息丢失可能导致整个业务的数据出现不一致等问题&#xff0c;对系统带来巨大的影响&#xff0c;…

tomcat架构概览

https://blog.csdn.net/ldw201510803006/article/details/119880100 前言 Tomcat 要实现 2 个核心功能&#xff1a; 处理 Socket 连接&#xff0c;负责网络字节流与 Request 和 Response 对象的转化。加载和管理 Servlet&#xff0c;以及具体处理 Request 请求。 因此 Tomc…

weblogic __ 10.3.6 __ 反序列化漏洞 _ CVE-2017-10271

weblogic __ 10.3.6 __ 反序列化漏洞 _ CVE-2017-10271 说明内容漏洞编号CVE-2017-10271漏洞名称反序列化漏洞影响范围10.3.6.0.0&#xff0c;12.1.3.0.0&#xff0c;12.2.1.1.0&#xff0c;12.2.1.2.0漏洞描述Weblogic的WLS Security组件对外提供webservice服务&#xff0c;其…

MySQL里的查看操作

查看数据库或者表 列出所有数据库&#xff1a; show databases;查看正在使用的数据库&#xff08;必须大写&#xff09;&#xff1a; SELECT DATABASE();列出数据库中的表&#xff1a; use 数据库;//选中数据库 show 表;//列出当前数据库下所有表获取数据库表结构&#xff…

OpenCV(四十七):RANSAC优化特征点匹配

1.RANSAC算法介绍 RANSAC是一种常用的参数估计方法&#xff0c;全称为Random Sample Consensus&#xff08;随机抽样一致性&#xff09;。它的主要思想是通过随机选择一部分数据样本&#xff0c;构建模型并评估其拟合程度&#xff0c;迭代过程中逐步优化模型&#xff0c;最终得…

Linux知识点 -- 网络基础(二)

Linux知识点 – 网络基础&#xff08;二&#xff09;&#xff08;1&#xff09; 文章目录 Linux知识点 -- 网络基础&#xff08;二&#xff09;&#xff08;1&#xff09;一、使用协议来实现一个网络版的计算器1.自定义协议2.守护进程3.使用json来完成序列化 二、HTTP协议1.概念…

Redis 事务实现原理

1. 什么是Redis事务 提到事务,我们可能马上会想到传统的关系型数据库中的事务,客户端首先向服务器发送BEGIN开启事务,然后执行读写操作,最后用户发送 COMMIT 或者 ROLLBACK 来提交或者回滚之前的操作。 但是Redis中的事务与关系型数据库是不一样的,Redis 通过 MULTI 命令开始…

GB28181学习(四)——网络设备信息查询

要求 源设备向目标设备发送信息查询命令&#xff0c;目标设备将结果通过查询应答命令返回给源设备&#xff1b;设备信息查询命令包括&#xff1a; 设备目录设备信息设备状态信息设备配置预置位、看守位巡航轨迹列表巡航轨迹PTZ精准状态存储卡状态等 信息查询的范围&#xff1a…