今天小编给大家分享一下mysql排序与分页的方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

排序规则

ASC(ascend):升序DESC(descend):降序ORDERBY子句在SELECT语句的结尾

代码案例

#按照salary从高到低的顺序显示员工信息SELECTemployee_id,last_name,salaryFROMemployeesORDERBYsalaryDESC;#按照salary从低到高的顺序显示员工信息SELECTemployee_id,last_name,salaryFROMemployeesORDERBYsalaryASC;#如果在ORDERBY后没有显式指名排序的方式的话,则默认按照升序排列SELECTemployee_id,last_name,salaryFROMemployeesORDERBYsalary;#使用列的别名,进行排序SELECTemployee_id,salary,salary*12annual_salFROMemployeesORDERBYannual_sal;#错误案例:#列的别名只能在ORDERBY中使用,不能在WHERE中使用。如下方式会报错SELECTemployee_id,salary,salary*12annual_salFROMemployeesWHEREannual_sal>81600;#WHERE需要声明在FROM后,ORDERBY之前SELECTemployee_id,salaryFROMemployeesWHEREdepartment_idIN(50,60,70)ORDERBYdepartment_idDESC;#二级排序:显示员工信息,按照department_id的降序排列,salary的升序排列SELECTemployee_id,salary,department_idFROMemployeesORDERBYdepartment_idDESC,salaryASC;

分页规则

#显示第几条到第几条LIMIT[位置偏移量,]行数#显示第几页的所有分页显式公式:(当前页数-1)*每页条数,每页条数

代码案例

#每页显示20条记录,此时显示第1页SELECTemployee_id,last_nameFROMemployeesLIMIT0,20;#每页显示20条记录,此时显示第2页SELECTemployee_id,last_nameFROMemployeesLIMIT20,20;#每页显示20条记录,此时显示第3页SELECTemployee_id,last_nameFROMemployeesLIMIT40,20;#每页显示pageSize条记录,此时显示第pageNo页:#公式:LIMIT(pageNo-1)*pageSize,pageSize;#LIMIT的格式:严格来说:LIMIT位置偏移量,条目数#结构"LIMIT0,条目数"等价于"LIMIT条目数"SELECTemployee_id,last_name,salaryFROMemployeesWHEREsalary>6000ORDERBYsalaryDESC#limit0,10;#写法1LIMIT10;#表里有107条数据,我们只想要显示第32、33条数据SELECTemployee_id,last_nameFROMemployeesLIMIT31,2;#MySQL8.0新特性:LIMIT...OFFSET...#表里有107条数据,我们只想要显示第32、33条数据SELECTemployee_id,last_nameFROMemployeesLIMIT2OFFSET31;#查询员工表中工资最高的员工信息SELECTemployee_id,last_name,salaryFROMemployeesORDERBYsalaryDESC#limit0,1LIMIT1;

课后练习

#查询员工的姓名和部门号和年薪,按年薪降序,按姓名升序显示SELECTlast_name,department_id,salary*12annual_salaryFROMemployeesORDERBYannual_salaryDESC,last_nameASC;#选择工资不在8000到17000的员工的姓名和工资,按工资降序,显示第21到40位置的数据SELECTlast_name,salaryFROMemployeesWHEREsalaryNOTBETWEEN8000AND17000ORDERBYsalaryDESCLIMIT20,20;#查询邮箱中包含e的员工信息,并先按邮箱的字节数降序,再按部门号升序SELECTemployee_id,last_name,email,department_idFROMemployees#whereemaillike'%e%'#写法1WHEREemailREGEXP'[e]'ORDERBYLENGTH(email)DESC,department_id;

以上就是“mysql排序与分页的方法是什么”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。