04.排序与分页

2022/3/10 6:15:00

本文主要是介绍04.排序与分页,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

排序

如果没有指定排序,顺序按照添加顺序显示

# 不指定升序降序, 默认升序
# 升序ASC, 降序DESC

# 排序
# 按照员工工资升序排列
SELECT employee_id,salary FROM employees ORDER BY salary ASC;

image-20220310010807841

使用列名的别名进行排序

# 按照员工年工资排序
SELECT employee_id,salary * 12 annual_sal FROM employees ORDER BY annual_sal ASC;
# 列名的别名不能在where中使用
# 错误例子
SELECT employee_id,salary * 12 annual_sal FROM employees WHERE annual_sal>50000;
> 1054 - Unknown column 'annual_sal' in 'where clause'
> 时间: 0.001s

image-20220310011116360

如果我们要通过几个参数来进行排序就需要进行多级排序

# 基本语句
# 按照列名1的升序、列名2的降序排列
# 这里的排序优先级是先按照列名1排序,只有列名1相同才回进行列名2的排序
order by 列名1 ASC, 列名2 DESC;
# 按照员工工资和id排序
SELECT employee_id,salary * 12 annual_sal FROM employees ORDER BY annual_sal ASC, employee_id DESC;

image-20220310011643737

分页

通过LIMIT显示指定位置的内容来实现分页

# LIMIT 起始位置,显示个数;
# 这里的起始位置是从0开始的,相当于数组的0位置,所以要显示1-20,起始位置就是0
# 显示1-20
SELECT employee_id,first_name FROM employees LIMIT 0,20;
# 显示20-40
SELECT employee_id,first_name FROM employees LIMIT 20,20;

# 分页计算 
# 已知当前页数与显示个数
LIMIT (当前页数 - 1) * 显示个数,显示个数;

# 8.0 新特性
LIMIT 显示个数 offset 起始位置;
# 显示1-20
SELECT employee_id,first_name FROM employees LIMIT 20 offset 0;
# 显示20-40
SELECT employee_id,first_name FROM employees LIMIT 20 offset 20;

注:**顺序 from ..... where ..... order by .... ASC/DESC LIMIT **



这篇关于04.排序与分页的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程