MySQL-排序与分页

1. 排序

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

SELECT * FROM employees;

1.1 基本使用

1)使用 ORDER BY 对查询到的数据进行排序操作。

  • 升序:ASC(ascend)
  • 降序:DESC (descend)

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

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

在这里插入图片描述

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

SELECT employee_id,last_name,salary
FROM employees
ORDER BY salary ASC;

在这里插入图片描述

SELECT employee_id,last_name,salary
FROM employees
ORDER BY salary; # 如果在ORDER BY 后没有显式指名排序的方式的话,则默认按照升序排列。

在这里插入图片描述

2)我们可以使用列的别名,进行排序

SELECT employee_id,salary,salary * 12 annual_sal
FROM employees
ORDER BY annual_sal;

在这里插入图片描述

列的别名只能在 ORDER BY 中使用,不能在WHERE中使用。
如下操作报错!

SELECT employee_id,salary,salary * 12 annual_sal
FROM employees
WHERE annual_sal > 81600;

在这里插入图片描述

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

SELECT employee_id,salary
FROM employees
WHERE department_id IN (50,60,70)
ORDER BY department_id DESC;

在这里插入图片描述

4)二级排序

练习:显示员工信息,按照department_id的降序排列,salary的升序排列

SELECT employee_id,salary,department_id
FROM employees
ORDER BY department_id DESC,salary ASC;

在这里插入图片描述

2. 分页

2.1 mysql使用limit实现数据的分页显示

需求1:每页显示20条记录,此时显示第1页

SELECT employee_id,last_name
FROM employees
LIMIT 0,20;

在这里插入图片描述

需求2:每页显示20条记录,此时显示第2页

SELECT employee_id,last_name
FROM employees
LIMIT 20,20;

在这里插入图片描述

需求3:每页显示20条记录,此时显示第3页

SELECT employee_id,last_name
FROM employees
LIMIT 40,20;

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

2.2 WHERE … ORDER BY …LIMIT

LIMIT的格式: 严格来说:LIMIT 位置偏移量,条目数
结构"LIMIT 0,条目数" 等价于 “LIMIT 条目数”

SELECT employee_id,last_name,salary
FROM employees
WHERE salary > 6000
ORDER BY salary DESC
#limit 0,10;
LIMIT 10;

在这里插入图片描述

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

SELECT employee_id,last_name
FROM employees
LIMIT 31,2;

在这里插入图片描述

2.3 MySQL8.0新特性:LIMIT … OFFSET …

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

SELECT employee_id,last_name
FROM employees
LIMIT 2 OFFSET 31;

在这里插入图片描述

练习:查询员工表中工资最高的员工信息

SELECT employee_id,last_name,salary
FROM employees
ORDER BY salary DESC
#limit 0,1
LIMIT 1;

在这里插入图片描述

2.4 LIMIT 可以使用在MySQL、PGSQL、MariaDB、SQLite 等数据库中使用,表示分页。

不能使用在SQL Server、DB2、Oracle!

3.排序与分页的课后练习

1. 查询员工的姓名和部门号和年薪,按年薪降序,按姓名升序显示

SELECT last_name,department_id,salary * 12 annual_salary
FROM employees
ORDER BY annual_salary DESC,last_name ASC;

在这里插入图片描述

2. 选择工资不在 8000 到 17000 的员工的姓名和工资,按工资降序,显示第21到40位置的数据

SELECT last_name,salary
FROM employees
WHERE salary NOT BETWEEN 8000 AND 17000
ORDER BY salary DESC
LIMIT 20,20;

在这里插入图片描述

3. 查询邮箱中包含 e 的员工信息,并先按邮箱的字节数降序,再按部门号升序

SELECT employee_id,last_name,email,department_id
FROM employees
#where email like '%e%'
WHERE email REGEXP '[e]'
ORDER BY LENGTH(email) DESC,department_id;

在这里插入图片描述

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

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

相关文章

使用 LLMLingua-2 压缩 GPT-4 和 Claude 提示

原文地址:Compress GPT-4 and Claude prompts with LLMLingua-2 2024 年 4 月 1 日 向大型语言模型(LLM)发送的提示长度越短,推理速度就会越快,成本也会越低。因此,提示压缩已经成为LLM研究的热门领域。 …

JVM基础:类的生命周期详解

JDK版本:jdk8 IDEA版本:IntelliJ IDEA 2022.1.3 文章目录 一. 生命周期概述二. 加载阶段(Loading)2.1 加载步骤2.2 查看内存中的对象 三. 连接阶段(Linking)3.1 连接之验证3.2 连接之准备3.3 连接阶段之解析 四. 初始化阶段(Initialization)4.1 单个类的…

ChatGPT(3.5版本)开放无需注册:算力背后的数据之战悄然打响

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…

Logback日志框架(超详细)

logback-classic-1.2.3.jarhttp://链接: https://pan.baidu.com/s/1cA3gVB_6DEA-cSFJN6MDGw 提取码: sn8i 复制这段内容后打开百度网盘手机App,操作更方便哦 logback-core-1.2.3.jarhttp://链接: https://pan.baidu.com/s/19eCsvsO72a9PTqpXvXxrgg 提取码: 5yp…

元宇宙虚拟空间的场景构造(二)

前言 该文章主要讲元宇宙虚拟空间的场景构造,基本核心技术点,不多说,直接引入正题。 场景的构造 使用引入的天空模块 this.sky new Sky(this); 在Sky模块里,有设置对其中的阳光进行不同时间段的光线处理。而天空又是怎么样的…

微软云学习环境

微软公有云 - Microsoft Azure 本文介绍通过微软学习中心Microsoft Learn来免费试用Azure上的服务,也不需要绑定信用卡。不过每天只有几个小时的时间。 官网 https://docs.microsoft.com/zh-cn/learn/ 实践 比如创建虚拟机,看到自己的账号下多了Learn的…

非关系型数据库-----------探索 Redis高可用 、持久化、性能管理

目录 一、Redis 高可用 1.1什么是高可用 1.2Redis的高可用技术 二、 Redis 持久化 2.1持久化的功能 2.2Redis 提供两种方式进行持久化 三、Redis 持久化之----------RDB 3.1触发条件 3.1.1手动触发 3.1.2自动触发 3.1.3其他自动触发机制 3.2执行流程 3.3启动时加载…

机器学习KNN最邻近分类算法

文章目录 1、KNN算法简介2、KNN算法实现2.1、调用scikit-learn库中KNN算法 3、使用scikit-learn库生成数据集3.1、自定义函数划分数据集3.2、使用scikit-learn库划分数据集 4、使用scikit-learn库对鸢尾花数据集进行分类5、什么是超参数5.1、实现寻找超参数5.2、使用scikit-lea…

下载页面上的视频

引言:有些页面上的视频可以直接右键另存为或者F12检索元素找到视频地址打开后保存,但有些视频页面是转码后的视频,不能直接另存为视频格式,可以参考下本方法 以该页面视频为例:加载中...点击查看详情https://wx.vzan.c…

【Node.js从基础到高级运用】二十一、使用child_process模块创建子进程

引言 在Node.js中,child_process模块是一个提供了创建和管理子进程的能力的核心模块。通过使用child_process模块,Node.js可以执行系统命令、运行其他脚本或应用程序,实现与Node.js进程的并行处理。 child_process模块提供了几种创建子进程的…

【C++】vector模拟实现

目录 简介:私有成员:迭代器: 无参构造函数:push_back:reserve:resize:push_back: operator[]重载:begin && end:size && capacity:insert:erase:带参构造…

matlab使用教程(35)—求解时滞微分方程(3)

1中立型 DDE 以下示例说明如何使用 ddensd 求解中立型 DDE(时滞微分方程),其中时滞出现在导数项中。此问题最初由 Paul [1] 提出。方程是: 由于该方程在 y ′ 项中存在时滞,因此该方程称为中立型 DDE。如果时滞仅出现…

Python 与机器学习,在服务器使用过程中,常用的 Linux 命令包括哪些?

🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 本博客旨在分享在实际开发过程中,开发者需要了解并熟练运用的 Linux 操作系统常用命令。Linux 作为一种操作系统,与 Windows 或 MacOS 并驾齐驱,尤其在服务器和开发环…

使用 RisingWave、NATS JetStream 和 Superset 进行实时物联网监控

在物联网(IoT)背景下,处理实时数据会遇到一些特定的障碍,如边缘计算资源不足、网络条件限制、扩展性存在问题、设备间有多样性差异。要克服这些挑战,需要高效的边缘计算技术、强大的安全措施、标准化协议、可扩展的管理…

spring中各种bean加载顺序

具体加载顺序按照罗列的顺序 XXXAware ApplicationContextAware、EnvironmentAware、BeanFactoryAware、BeanClassLoaderAware 顾名思义,用于获取对应的对象,需要在实体类中声明对应的对象且当前类为普通类能被注入。 InitializingBean void afterProp…

【软件工程】测试规格

1. 引言 1.1简介 本次的测试用例是基于核心代码基本开发完毕,在第一代系统基本正常运行后编写的,主要目的是为了后续开发与维护的便利性。 该文档主要受众为该系统后续开发人员,并且在阅读此文档前最后先阅读本系统的需求文档、概要设计文…

日志、logback、logback.xml --java学习笔记

什么是日志? 好比生活中的日记,可以记录你生活中的点点滴滴程序中的日志,通常就是一个文件,里面记录的是程序运行过程中的各种信息 之前记录日志的方法都是使用输出语句: 这种方法其实并不适合用来记录日志&#xff…

【c++】初阶模版与STL简单介绍

🔥个人主页:Quitecoder 🔥专栏:c笔记仓 朋友们大家好,本篇文章介绍一下模版和对STL进行简单的介绍,后续我们进入对STL的学习! 目录 模版1.泛型编程2.函数模板2.1函数模板的原理2.2模版的实例化…

实验:基于Red Hat Enterprise Linux系统的创建磁盘和磁盘分区(二、三)

目录 一. 实验目的 二. 实验内容 三. 实验设计描述及实验结果 实验二: 1. 为nvme0n2p1设备建立配额属性和文件(EXT) 2. 要求自己名字的用户只能存储不超过200M的文件,总数量不能大于10个 quotacheck [选项] 文件系统 edquota quotaon [选项] 文件系…

某盾滑块拼图验证码增强版

介绍 提示:文章仅供交流学习,严禁用于非法用途,如有不当可联系本人删除 最近某盾新推出了,滑块拼图验证码,如下图所示,这篇文章介绍怎么识别滑块距离相关。 参数attrs 通过GET请求获取的参数attrs, 决…