首页 > 数据库 >【MySQL】排序和分页

【MySQL】排序和分页

时间:2023-03-08 19:24:23浏览次数:36  
标签:salary 20 分页 LIMIT MySQL employee 排序 id SELECT

排序

ORDER BY 多列 ;#强调格式:WHERE需要声明在FROM后,ORDER BY之前。先排序Country  再排序CustomerName ,默认是按ASC排序的。

SELECT * FROM Customers
ORDER BY Country ASC, CustomerName DESC;

我们可以使用列的别名,进行排序,列的别名只能在order by 中使用,不能在wHERE中使用。因为sql执行语句是 先from where 然后执行select 字段 别名,在执行oder by

SELECT employee_id,salary,salary * 12 annual_sal FROM employees
ORDERBY annual_sal;
#列的别名只能在 ORDER BY中使用,不能在WHERE中使用。#如下操作报错!
SELECT employee_id,salary,salary * 12 annual_salFROMemployees
wHEREannual_sal > 81600;

练习题

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

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

 

 

分页

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

格式(严格来):LIMIT位置偏移量,步长

结构:LIMIT 0,条目数”等价于"LIMIT 条目改"

注意: LIMIT可以使用在MySQL、PGSQL、MariaDB、sQLite等数据库中使用,表示分页。.不能使用在SQLServer、DB2、oracle !l

#需求1:每页显示20条记录、此时显示第1页
SELECT employee_id,last_name
FROM employees
LIMIT 0,20;

#需求2:每页显示20条记录,此时显示第2页
SELECT employee_id, last_name
FROMemployees
LIMIT 20,20;

#需求3:每页显示20条记录,此时显示第3页
SELECT employee_id, last_name
FROM employees
LIMIT 40,20;

#需求:每页显示pagesize条记录,此时显示第pageNo页:

公式:LIMIT (pageNo-1) * pagesize,pagesize;

SELECT employee_id, 1ast__name , salary FROM employees
WHERE salary > 6000 ORDER BY salary DESC
#limit 0,10;格式(严格来):LIMIT位置偏移量,步长
LIMIT 10; 结构:LIMIT 0,条目数”等价于"LIMIT 条目改"

mysql8.0 新特性

MySQL 8.0中可以使用"“LIMIT 3 OFFSET 4”,意思是获取从第5条记录开始后面的3条记录,和“LIMIT4,3;"返回的结果相同。

标签:salary,20,分页,LIMIT,MySQL,employee,排序,id,SELECT
From: https://www.cnblogs.com/cdaniu/p/17195754.html

相关文章

  • 2.安装mysql教程
    day1MySQL1.安装MySQLMySQL,本质上就是一个软件。推荐用5.7.31版本。1.1下载,安装5.7.31比较稳定https://downloads.mysql.com/archives/community/1.2配置mysql安......
  • MySQL查看数据库性能常用命令和实战教学
    MySQL查看数据库性能常用命令#列出MySQL服务器运行各种状态值showglobalstatus;#查询MySQL服务器配置信息语句showvariables;#慢查询showvariableslike'%sl......
  • 排序算法总结
    1.冒泡排序原理:数组元素两两比较,交换位置,大元素往后放,经过一轮比较后,最大的元素就会出现在最大索引处(nums[].length-1-i)。Java代码:publicclassSort01{//......
  • 冒泡排序(简单C++实现)
    实现代码如下://bubble_sort.cpp#include<stdio.h>voidprintArray(intarr[],intlen);//冒泡排序:最多进行n-1次排序intmain(){intarr[]={23,39,65,2......
  • mysqlbinlog恢复数据实战
    binlog我们中文一般称作归档日志,如果大家看过松哥之前发的MySQL主从搭建,应该对这个日志有印象,当我们搭建MySQL主从的时候就离不开binlog(传送门:MySQL8主从复制踩坑指......
  • docker-compose部署mysql8的登录问题
    之前docker-compose部署mysql8的时候密码设置好,第一次启动容器,登录密码不对,需要登录容器跳过密码,重新修改密码启动,就研究了以下,就几个问题就弄好了docker-compose.yaml文......
  • Centos7 离线安装 MySQL 8.0.32
    1官网下载mysql离线rpm包下载地址:https://dev.mysql.com/downloads/mysql/2将下载的tar包上传到/opt/rpm/mysql目录 3删除CentOS自带的mariadb 说明:不删的话my......
  • 51Nod1019 逆序数(归并排序详解)
    逆序对给定一个1-N的排列A1,A2,...AN,如果Ai和Aj满足i<j且Ai>Aj,我们就称(Ai,Aj)是一个逆序对。 求A1,A2...AN中所有逆序对的数目。input 第一行包含一个整数N......
  • Django 实现Canal 读取 MySQL 写入到 Kafka中
    安装canal-python库:pipinstallcanal-python修改settings.py文件,添加Canal相关配置CANAL_SETTINGS={"canal_host":"127.0.0.1","canal_port":11111,......
  • 安装goldengate软件for mysql(ogg)
    os:centos7ogg版本:19.1.0.0.3mysql:5.71.将安装文件上传到指定的目录#cd/#mkdir/soft/ogg将ogg安装包上传到该目录2.创建安装软件的目录[root@localhost/]#cd/[ro......