当前位置:网站首页>MySQL【排序与分页】
MySQL【排序与分页】
2022-07-30 12:04:00 【桜キャンドル淵】
目录
一、排序
#1. 排序
# 如果没有使用排序操作,默认情况下查询返回的数据是按照添加数据的顺序显示的。
SELECT * FROM employees;
# 1.1 基本使用
# 使用 ORDER BY 对查询到的数据进行排序操作。
# 升序:ASC (ascend)
# 降序:DESC (descend)
# 默认是从低到高排序
# 练习:按照salary从高到低的顺序显示员工信息
SELECT employee_id,last_name,salary
FROM employees
#desc是降序的意思
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 后没有显式指名排序的方式的话,则默认按照升序排列。
#列的别名只能在 ORDER BY 中使用,不能在WHERE中使用。
#如下操作报错!
SELECT employee_id,salary,salary * 12 annual_sal
FROM employees
WHERE annual_sal > 81600;
#2. 我们可以使用列的别名,进行排序
#这里我们分别将员工编号和收入,和收入乘12并且起了个别名为年收入进行按照年收入从低到高排序
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;
为什么不能再where中使用呢?因为我们的MySQL在读取SQL语句的时候是先读取from,where语句,然后再读取select语句,然后再读取order by语句,而我们起别名是在select语句中,所以from和where的时候还没有别名,所以会报错,但是在运行到order by的时候已经有了别名,所以可以使用。
#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
#从偏移量为0的位置显示20条数据
LIMIT 0,20;
# 需求2:每页显示20条记录,此时显示第2页
SELECT employee_id,last_name
FROM employees
#从偏移量20的位置显示20条数据
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表示显示几条记录
#offset表示偏移量是多少
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!
边栏推荐
- Verilog grammar basics HDL Bits training 08
- Verilog语法基础HDL Bits训练 08
- C# 枚举类型 于xaml 中区别
- Scheduling of combined electric-heating system based on multi-objective two-stage stochastic programming method
- Homework 7.29 correlation function directory and file attributes related functions
- Redis master-slave replication
- Matlab基础(4)——矩阵
- 概率论的学习整理5:贝叶斯(bayes)法则和贝叶斯概率
- LinkedList与链表
- [Cloud-Building Co-creation] Huawei Cloud and Hongmeng collaborate to cultivate innovative developers
猜你喜欢
PyQt5快速开发与实战 8.2 绘图 && 8.3 QSS的UI美化
基于MySQL数据库,Redis缓存,MQ消息中间件,ES搜索引擎的高可用方案解析
概率论得学习和整理6:概率的分布
概率论得学习整理--番外3:二项式定理和 二项式系数
概率论的学习整理--番外2:和二项式,组合相关的杨辉三角
Redis master-slave replication
LeetCode_235_Last Common Ancestor of Binary Search Tree
[BJDCTF2020]Cookie is so stable-1|SSTI injection
刷屏了!!!
为什么说Prometheus是足以取代Zabbix的监控神器?
随机推荐
saltstack学习1入门基础
Scheduling of combined electric-heating system based on multi-objective two-stage stochastic programming method
Homework 7.29 correlation function directory and file attributes related functions
LeetCode_235_Last Common Ancestor of Binary Search Tree
unity初学6——简易的UI制作(血条制作)和音频加入以及NPC的对话气泡(2d)
Manage reading notes upward
打破原则引入SQL,MongoDB到底想要干啥???
Another blast!Ali's popular MySQL advanced collection is open source, reaching P7
Apifox generates interface documentation tutorial and operation steps
JS事件参数对象event
Reverse linked list - recursive inversion method
LeetCode_236_二叉树的最近公共祖先
11 年膨胀 575 倍,微信为何从“小而美”变成了“大而肥”?
Verilog grammar basics HDL Bits training 07
Kubernetes之本地存储
2022-07-29 顾宇佳 学习笔记 异常处理
重建丢失的数据
基于加权灰色关联投影的Bagging-Blending多模型融合短期电力负荷预测
模糊离散事件系统的可测性
Testability of Fuzzy Discrete Event Systems