05_排序与分页

news/2024/5/19 7:41:25/文章来源:https://blog.csdn.net/qq_48083892/article/details/127145308

1.排序数据

在这里插入图片描述

1.1排序规则

如果没有使用排序操作,默认情况下查询返回的数据是按照添加数据的顺序显示的。

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

1.2单列排序

1.简单使用排序

#如果没有使用排序操作,默认情况下查询返回的数据是按照添加数据的顺序显示的。
select * from employees;

#练习:按照salary从高到低的顺序显示员工信息

#使用ORDERBY对查询到的数据进行排序操作。
#升序:ASC ( ascend)
#降序:DESC (descend)
select employee_id,last_name,salary
from employees
ORDER BY salary DESC;#如果在ORDER BY后没有显式指名排序的方式的话,则默认按照升序排列。
在这里插入图片描述

2.使用列的别名进行排序

#我们可以使用列的别名,进行排序
SELECT employee_id,salary,salary * 12 annual_sal
FROM employees
ORDER BY annual_sal;
在这里插入图片描述
在这里插入图片描述

3.强调格式:WHERE需要声明在FROM后,ORDER BY之前。

ORDER BY 排序的字段,不一定是查询字段。(即ORDER BY的字段可以不存在于SELECT语句中)
为什么列的别名只能在ORDER BY 中使用,不能在WHERE中使用呢?
1.SQL语句执行顺序不是按照从前往后顺序执行的,而是先执行FROM employees ,先找到查哪一个表,然后执行WHERE语句,看看有哪些过滤条件;
2.然后才执行SELECT语句,看看需要查哪些字段,同时才可能对列起一个别名
3.接下来执行ORDER BY,此时基于有别名了,所以排序时可以通过
在这里插入图片描述

1.3多列排序

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

二级排序

#练习:显示员工信息,按照department_id的降序排列,salary的升序排列
SELECT employee_id, salary ,department_id
FROM employees
ORDER BY department_id DESC,salary ASC;
在这里插入图片描述

2.分页

2.1背景

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

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

2.2实现规则

#2.1 mysql使用limit实现数据的分页显示
#需求:每页显示20条记录,此时显示第1页

需求:每页显示pagesize条记录,此时显示第pageNo页:
公式:LIMIT (pageNo-1)* pagesize,pagesize;

SELECT employee_id, last_name
FROM employees
LIMIT 0,20;
在这里插入图片描述

WHERE … ORDER BY … LIMIT 声明顺序如下:

#需求:每页显示pagesize条记录,此时显示第pageNo页:
#公式:LIMIT (pageNo-1)* pagesize,pagesize;
SELECT employee_id, last_name,salary
FROM employees
where salary >6000
ORDER BY salary DESC
LIMIT 0,20;
在这里插入图片描述

练习:表里有107条数据,我们只想要显示第32、33条数据怎么办呢?

SELECT employee_id, last_name,salary
FROM employees
LIMIT 31,2;
在这里插入图片描述

MySQL8.0新特性: LIMIT … OFFSET

SELECT employee_id, last_name,salary
FROM employees
LIMIT 2 OFFSET 31;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.3拓展

在这里插入图片描述

练习

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

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

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

相关文章

每日算法、面试题

目录 2022/10/16 一、算法 翻转字符串里的单词 找出字符串中第一个匹配项的下标 二、面试题 SpringMvc中如何解决POST请求的中文乱码问题 SpringMvc的工作流程 2022/10/16 一、算法 翻转字符串里的单词 给你一个字符串 s ,请你反转字符串中 单词 的顺序。 …

【Nginx】三、Nginx实现四层负载均衡Nginx实现限流防盗链流量镜像

Nginx实现四层负载均衡一、Nginx实现四层负载均衡1、四层负载均衡与七层负载均衡区别2、Nginx四层负载均衡配置3、SocketTool工具4、TCP&UDPDebug工具二、Nginx实现限流三、Nginx实现防盗链四、Nginx流量镜像一、Nginx实现四层负载均衡 我们之前介绍的HTTP负载均衡&#x…

Silane-PEG-Alkyne,硅烷-聚乙二醇-炔基用于修饰蛋白类

An English name:Silane-PEG-Alkyne Chinese name:硅烷-聚乙二醇-炔基 Item no:X-GF-0314-10k CAS:N/A Formula:N/A MW:Silane-PEG-Alkyne5000、Silane-PEG-Alkyne3400、Silane-PEG-Alkyne2000、硅烷-…

【附源码】计算机毕业设计SSM美食菜谱网站

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

(附源码)计算机毕业设计SSM基于JAVA线上订餐系统

(附源码)计算机毕业设计SSM基于JAVA线上订餐系统 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术…

【Vue Router】

资料 官网:https://v3.router.vuejs.org/zh/guide/ 尚硅谷视频:https://www.bilibili.com/video/BV1Zy4y1K7SH?p118 基本使用 安装: 这里安装vue3.x vue 2.x 版本对应 vue-router 3.xvue 3.x 版本对应 vue-router 4.x其他以此类推 npm…

【数据结构】------ 堆

目录 堆的概念及结构 堆的实现 堆向上调整算法 堆向下调整算法 堆的创建 堆的初始化和销毁 堆的插入 堆的删除 获取堆顶的数据 获取堆的数据个数 堆的判空 TopK问题(在N个数找出最大(小)的前K个) 堆排序 堆的概念及…

自学Python第二十七天- 简单部署生产环境,docker 的使用

自学Python第二十七天- 部署极简生产环境Windows 环境部署创建绿色 python 环境Linux 环境部署创建 Linux 环境使用Hyper-V使用 VMware 部署使用 docker 部署docker 原理安装 docker使用 linux 系统使用包管理工具使用 docker 仓库使用源代码安装使用 windows 系统开启 docker …

寻路算法-从bfs到Astart

一、简单BFS算法 bfs即广度优先搜索,最基础的寻路算法 即向出发点向四周无目的扩散,知道到达终点或者无法扩散为止 # coding: utf-8import random import bisectclass Solution(object):def __init__(self, n, m, bad):self.map [[0, 0, 0, 0, 0, 0, …

1.4. PUBLIC KEYS AS IDENTITIES公钥及身份 1.5. TWO SIMPLE CRYPTOCURRENCIES两种简单加密货币

《BITCOIN AND CRYPTOCURRENCY TECHNOLOGIES》Chapter 1系列 1.4. PUBLIC KEYS AS IDENTITIES 公钥作为身份 从一个签名方案中提取一个公钥将之视为一个身份。 公钥 public key 可以代表私钥 private key 的公众身份,而 private key 则是此人身份真实的内涵。 随时…

Linux服务搭建 -- NTP服务

什么是NTP? NTP全名“Network TimeProtocol”,即网络时间协议,是由RFC 1305定义的时间同步协议,用来在分布式时间服务器和客户端之间进行时间同步。 NTP基于UDP报文进行传输,使用的UDP端口号为123。使用NTP的目的是对网…

QFramework v1.0 使用指南 工具篇:03. CodeGenKit 脚本生成

在这一篇,我们学习几乎每个项目都要用到并且从中受益的功能:自动生成脚本并绑定,简称脚本生成。 基本使用 我们先在场景中,随便创建一些有父子结构的 GameObject,如下所示: 接着给 Player 挂上 ViewContr…

Spring 更简单的读取和存储对象

在 Spring 中想要更简单的存储和读取对象的核心是使用注解. 1.存储 Bean 对象 1.1 前置⼯作:配置扫描路径(重要) 注意:想要将对象成功的存储到 Spring 中,我们需要配置⼀下存储对象的扫描包路径,只有被配…

基于hadoop平台hive数据库处理电影数据

目录 1 开发背景 3 1.1开发背景与意义 4 1.2 开发环境与工具 4 2 可行性分析 7 2.1 可行性分析 8 2.2 需求可行性 8 2.3 技术可行性 8 2.4 操作可行性 8 2.5经济可行性 9 3 系统总体设计 10 3.1 总体设计方案 10 3.2 基础数据准备 10 3.3 环境准备 13 3.4 软件准备 13 4 系统详…

【文件操作详解】—— 一篇文章带你学会C语言的文件操作

文章目录1. 为什么要使用文件2. 什么是文件2.1 程序文件2.2 数据文件2.3 文件名3. 文件的打开和关闭3.1 文件指针3.2 如何打开和关闭文件3.2.1. 打开文件:fopen3.2.2 关闭文件:fclose3.2.3 补充4. 文件的顺序读写4.1 fputc4.2 fgetc4.3 fputs4.4 fgets4.…

(附源码)计算机毕业设计SSM基于Java网上玩具商店

(附源码)计算机毕业设计SSM基于Java网上玩具商店 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术…

c语言打力扣第89场双周赛第一题和315场周赛第一、二题(c语言)

目录 一、6208.有效时间的数目(简单题) (c语言暴力解法) 二、6204.于对应负数同时存在的最大正整数(简单题)(c语言求解) 三、6205.反转之后不同正数的数目(中等题)(c语言求解) 总结 一、6208.有效时间的数目(简单题) (c语言暴力解法) 89场双周赛第一题: int co…

C++ 构造函数详解

目录 0. 什么是构造函数 1. 默认构造函数 2. 一般构造函数 3. 拷贝构造函数 4. 转换构造函数 5. 移动构造函数 0. 什么是构造函数 在定义类的成员函数的时候,一般的成员函数与普通的全局函数没有太大的区别,在定义函数的时候都需要说明要返回的类…

JVM(Java Virtual Machine)内存模型

什么是JVM JVM(Java Virtual Machine)叫做Java虚拟机。jvm是Java运行基础。java虚拟机时一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。Java被设计成应用程序可以运行在任何平台(平台无关性&…

Android移动应用开发之Viewpage2+fragment实现微信滑动界面的效果

文章目录布局viewpager2fragmentadapter实现的效果如下&#xff1a;滑动界面能够实现界面的跳转。点击下面按钮同样实现界面的跳转。布局 最下面的导航栏&#xff0c;单独写了个布局文件&#xff1a; <?xml version"1.0" encoding"utf-8"?> <…