MySQL数据库基础 05

news2024/11/26 17:00:11

第五章 排序与分页

  • 1. 排序数据
    • 1.1 排序规则
    • 1.2 单列排序
    • 1.3 多列排序
  • 2. 分页
    • 2.1 背景
    • 2.2 实现规则
    • 2.3 拓展

1. 排序数据

1.1 排序规则

  • 使用 ORDER BY 子句排序
    • ASC(ascend): 升序
    • DESC(descend):降序
  • ORDER BY 子句在SELECT语句的结尾。

1.2 单列排序

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;

在这里插入图片描述

1.3 多列排序

SELECT last_name, department_id, salary
FROM   employees
ORDER BY department_id, salary DESC;

在这里插入图片描述

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

2. 分页

2.1 背景

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

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

2.2 实现规则

  • 分页原理

    所谓分页显示,就是将数据库中的结果集,一段一段显示出来需要的条件。

  • 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 不需要扫描完整的表,只需要检索到一条符合条件的记录即可返回。

2.3 拓展

在不同的 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 从高到低的顺序进行排序。但这样产生的结果和上述方法的并不一样。我会在后面讲到子查询,你可以使用

SELECT rownum, last_name,salary
FROM (
    SELECT last_name,salary
    FROM employees
    ORDER BY salary DESC)
WHERE rownum < 10;

得到与上述方法一致的结果。

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

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

相关文章

chatgpt赋能python:Python如何避免代码重复

Python如何避免代码重复 作为一名有10年Python编程经验的工程师&#xff0c;我深知代码重复会降低程序的可维护性&#xff0c;使代码变得混乱和难以扩展。因此&#xff0c;我想在这篇文章中介绍一些技术和最佳实践来避免Python代码重复。 为什么要避免重复代码&#xff1f; …

idea插件开发-Library

库是模块所依赖的已编译代码&#xff08;例如 JAR 文件&#xff09;的存档。IntelliJ 平台支持三种类型的库&#xff1a;1、Module Library&#xff1a;库类只在本模块可见&#xff0c;库信息记录在模块.iml文件中。2、Project Library&#xff1a;库类在项目中可见&#xff0c…

Scrapy框架 增量式、分布式爬虫

文章目录 Scrapy框架1.增量爬虫2.分布式爬虫 Scrapy框架 1.增量爬虫 实现思路 利用redis集合数据类型 1.获取到url后进行判断 是否重复&#xff1f;&#xff1f;&#xff1f; 2.第一次爬取到数据&#xff0c;爬取完成写入该记录... &#xff08;两个点: 必须要没有爬过的数据…

chatgpt赋能python:Python实现计算器:从入门到实现

Python实现计算器&#xff1a;从入门到实现 计算器是计算机科学中最基础并且实用的东西之一。Python作为一种高级编程语言&#xff0c;它可以用于编写一个功能完整的计算器。在本文中&#xff0c;我们将介绍Python如何实现一个简单的、交互式的计算器&#xff0c;通过使用基本…

【MySQL 数据库】7、SQL 优化

目录 一、插入数据优化(1) insert 语句① 批量插入数据② 手动控制事务③ 主键顺序插入&#xff0c;性能要高于乱序插入 (2) load 大批量插入数据【☆❀ 二、主键优化(1) 数据组织形式(2) 页分裂(3) 页合并(4) 主键设计原则 三、orber by 优化四、group by 优化五、limit 优化&…

chatgpt赋能python:Python怎么五个一行输出?

Python怎么五个一行输出&#xff1f; 在Python中&#xff0c;实现五个一行输出并不难&#xff0c;只需要使用循环语句即可。下面&#xff0c;我们将介绍如何使用Python实现五个一行输出。 实现方法 首先&#xff0c;我们需要定义一个包含一定数量元素的列表或字符串。然后&a…

chatgpt赋能python:Python中如何生成随机浮点数?

Python中如何生成随机浮点数&#xff1f; 随机数在计算机编程中常常使用&#xff0c;而在Python中&#xff0c;我们可以使用内置的random模块来产生随机数。不同于整数随机数&#xff0c;如果想要产生浮点数的随机数&#xff0c;我们就需要进行一些额外的操作。 产生浮点数类…

Baumer工业相机堡盟工业相机如何使用BGAPISDK控制相机数据流的开启和关闭(C++)

Baumer工业相机堡盟工业相机如何使用BGAPISDK控制相机数据流的开启和关闭&#xff08;C&#xff09; Baumer工业相机Baumer工业相机BGAPI SDK的技术背景Baumer工业相机使用BGAPISDK控制相机数据流的方式1.引用合适的类文件2.使用BGAPISDK控制相机数据流的方式2.使用BGAPISDK控制…

Pascal Voc 2007 2012

1、简介 PASCAL 全称&#xff1a;Pattern Analysis, Statical Modeling and Computational Learning PASCAL VOC&#xff08;The PASCAL Visual Object Classes &#xff09;是一个经典的计算机视觉数据集&#xff0c;由牛津大学、马里兰大学和微软剑桥研究院的研究人员创建的…

HiveSQL初级题目

文章目录 Hive SQL题库(初级)第一章 环境准备1.1 建表语句1.2 数据准备1.3 插入数据 第二章 简单查询2.1 查找特定条件2.1.1 查询姓名中带“冰”的学生名单2.1.2 查询姓“王”老师的个数2.1.3 检索课程编号为“04”且分数小于60的学生的课程信息&#xff0c;结果按分数降序排列…

chatgpt赋能python:Python如何保存文件到文件夹?

Python如何保存文件到文件夹&#xff1f; Python是一种高级编程语言&#xff0c;广泛应用于数据科学、网络编程、自动化任务等领域。其中&#xff0c;保存文件到文件夹是Python编程中的重要功能。本文将介绍Python如何保存文件到文件夹的方法&#xff0c;包括如何创建文件夹和…

动态网站JSP技术

文章目录 零、本节学习目标一、JSP概述&#xff08;一&#xff09;什么是JSP1、JSP的概念2、JSP的特征&#xff08;二&#xff09;编写第一个JSP1、创建Web项目2、修改Artifact名称&#xff0c;重新部署项目3、创建欢迎JSP页面4、启动服务器&#xff0c;查看结果 二、JSP基本语…

chatgpt赋能python:Python怎么产生方波?

Python怎么产生方波&#xff1f; 随着科技的发展&#xff0c;数字信号处理在各个领域都有广泛的应用&#xff0c;产生方波是其中一个基础的信号处理技术。在Python中&#xff0c;可以通过一些简单的代码来产生方波信号。本文将介绍如何使用Python产生方波。 什么是方波信号&a…

牛客小白赛复盘] 牛客小白月赛74

[牛客小白赛复盘] 牛客小白月赛74 总结A 简单的整除1. 题目描述2. 思路分析3. 代码实现 B 整数划分1. 题目描述2. 思路分析3. 代码实现 C 传送阵1. 题目描述2. 思路分析3. 代码实现 D 修改后的和1. 题目描述2. 思路分析3. 代码实现 E 幼稚园的树21. 题目描述2. 思路分析3. 代码…

一分钟学一个 Linux 命令 - tar

前言 大家好&#xff0c;我是 god23bin。今天给大家带来的是 Linux 命令系列&#xff0c;每天只需一分钟&#xff0c;记住一个 Linux 命令不成问题。今天&#xff0c;我们要介绍的是一个常用且强大的命令&#xff1a;tar。 什么是 tar 命令&#xff1f; tar 是 tape archive…

C语言经典题目(三)

C站的小伙伴们&#xff0c;大家好呀&#xff01;&#x1f60a;&#x1f60a;✨✨这一篇是C语言之经典题目篇&#xff0c;除程序设计&#xff0c;还有一些不错的程序分析&#xff0c;快来和我一起进入C语言的世界吧&#xff01;✨✨✨ &#x1f495;C语言其他刷题篇在这里哦&…

【Python程序设计】——重点题目(期末不挂科)

课本&#xff1a; 目录 &#x1f552; 1. 控制结构&#x1f552; 2. 数据类型&#x1f552; 3. 函数&#x1f552; 4. 文件操作&#x1f552; 5. 面向对象&#x1f552; 6. Excel操作&#x1f552; 7. 实验课题目合集&#x1f552; 8. 思政题 &#x1f552; 1. 控制结构 【例…

chatgpt赋能python:Python怎么二次安装?

Python怎么二次安装&#xff1f; 介绍 Python作为一种广泛应用的编程语言&#xff0c;其安装也是极其简单。只需要在Python官网上下载对应版本的安装包&#xff0c;并按照提示进行安装即可。但是&#xff0c;如果你需要二次安装Python&#xff0c;比如更新到新的版本或者将Py…

百度、头条、360、搜狗下拉拓词及长尾关键词挖掘-批量多线程

百度、头条、360、搜狗下拉拓词及长尾关键词挖掘软件介绍&#xff1a; 1、在如今竞争激烈的互联网时代&#xff0c;作为SEO站长&#xff0c;我们都知道一个事实&#xff1a;流量就是金钱&#xff01;而要想在海量信息中脱颖而出&#xff0c;我们需要借助一些强大的工具来帮助我…

OpenMMLab-AI实战营第二期——4-1.目标检测与MMDetection

文章目录 1. 目标检测的基本范式1.0-1 目标检测简介1.0-2 基本概念1.1 滑窗1.1.1 滑窗基本思想1.1.2 滑窗效率问题改进1.1.3 感受野计算 1.2-1 使用卷积实现密集预测1.2.1 在特征图上进行密集预测1.2.2 边界框回归1.2.3 非极大值抑制&#xff08;Non-Maximum Suppression&#…