当前位置:网站首页>MySQL---sort and pagination
MySQL---sort and pagination
2022-07-31 17:17:00 【Narwhals need water】
排序与分页
排序数据
排序规则
使用order by子句排序
asc(不写的情况,默认为asc):升序
desc:降序
order by子句在select语句的结尾
单列排序
select last_name,job_id,department_id,hire_date
from employees
order by hire_date asc(asc可不写)升序
或
SELECT last_name,job_id,department_id,hire_date
FROM employees
ORDER BY hire_date DESC 降序
多列排序
SELECT last_name,department_id,salary
FROM employees
ORDER BY department_id,salary DESC;
可以使用不在SELECT列表中的列排序.
在对多列进行排序的时候,首先排序的第一列必须有相同的列值,才会对第二列进行排序.如果第
一列数据中所有值都是唯一的,将不再对第二列进行排序.
分页
格式
LIMIT [位置偏移量,] 行数
SELECT *
FROM employees
LIMIT 0,10;
MySQL 8.0中可以使用“LIMIT 3 OFFSET 4”,意思是获取从第5条记录开始后面的3条记录,和“LIMIT
4,3;”返回的结果相同.
拓展
在不同的 DBMS 中使用的关键字可能不同.在 MySQL、PostgreSQL、MariaDB 和 SQLite 中使用 LIMIT 关
键字,而且需要放到 SELECT 语句的最后面.
排序与分页练习
1. 查询员工的姓名和部门号和年薪,按年薪降序 按姓名升序显示
select last_name,department_id,salary * 12 annual_sal
from employees
order by annual_sal 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 last_name,email,department_id
from employees
where email like '%e%'
order by length(email) desc,department_id asc;
或
SELECT last_name,email,department_id
FROM employees
WHERE email REGEXP '[e]'
ORDER BY LENGTH(email) DESC,department_id ASC;
边栏推荐
猜你喜欢
随机推荐
每日练习------随机产生一个1-100之间的整数,看能几次猜中。要求:猜的次数不能超过7次,每次猜完之后都要提示“大了”或者“小了”。
关于柱状图的经典画法总结
Jiuqi ny3p series voice chip replaces the domestic solution KT148A, which is more cost-effective and has a length of 420 seconds
获取抖音视频详情 API
浅谈网络安全之算法安全
华为顶级工程师历时9年总结的“趣谈网络协议”PDF文档,太强了
flowable工作流所有业务概念
[TypeScript]OOP
The new telecom "routine", my dad was tricked!
Verilog实现占空比为5/18的9分频
二分查找的细节坑
【码蹄集新手村600题】不通过字符数组来合并俩个数字
动态规划之线性dp(下)
自动化测试—web自动化—selenium初识
【pytorch】1.7 pytorch与numpy,tensor与array的转换
MySQL common statements
Golang 切片删除指定元素的几种方法
[TypeScript] OOP
BOW/DOM(上)
Golang 小数操作之判断几位小数点与四舍五入








