排序(order by)

MySQL从小白到总裁完整教程目录:https://blog.csdn.net/weixin_67859959/article/details/129334507?spm=1001.2014.3001.5502

语法格式:

select */列名 from 表名
order by 列名1 asc/desc, 列名2 asc/desc;

说明:

排序的目的:改变查询结果的返回顺序!

order by 就是排序关键字,表示按照什么规则排序

asc 表示升序,默认可以不写 desc 表示降序,若需要,不能省略

多列排序规则:先按照列名1进行排序(第1梯队),如果列名1的值相同,再按照列名2排序(第2梯队)!

案例:查询emp表中,员工编号(empno)、姓名(ename)、职位(job)、工资(sal)、入职时间(hiredate),根据工资(sal)降序排序。  

mysql> select empno, ename, job, sal, hiredate-> from emp-> order by sal desc;
+-------+--------+-----------+---------+------------+
| empno | ename  | job       | sal     | hiredate   |
+-------+--------+-----------+---------+------------+
|  7839 | king   | president | 5000.00 | 1983-05-20 |
|  7782 | clark  | manager   | 4450.00 | 1981-09-06 |
|  7950 | conter | manager   | 3500.00 | 1983-02-01 |
|  7566 | jones  | manager   | 3500.00 | 1980-04-02 |
|  7902 | ford   | analyst   | 3000.00 | 1981-12-03 |
|  7698 | blake  | manager   | 2850.00 | 1983-05-01 |
|  7499 | allen  | salesman  | 1600.00 | 1981-02-20 |
|  7844 | turner | salesman  | 1500.00 | 1981-06-10 |
|  7945 | mitter | clerk     | 1500.00 | 1983-06-23 |
|  7934 | miller | clerk     | 1300.00 | 1982-11-23 |
|  7521 | ward   | salesman  | 1250.00 | 1982-02-22 |
|  7654 | martin | salesman  | 1250.00 | 1981-09-28 |
|  7900 | james  | clerk     |  950.00 | 1981-12-03 |
|  7369 | smith  | clerk     |  800.00 | 1980-12-17 |
|  7210 | tianni | clerk     |  500.00 | 1980-04-20 |
+-------+--------+-----------+---------+------------+
15 rows in set (0.03 sec)

 

练习:查询emp表中,员工编号(empno)、姓名(ename)、职位(job)、工资(sal)、入职时间(hiredate),根据姓名(ename)升序排序。  

select empno, ename, job, sal, hiredate
from emp
order by ename asc;# asc可以省略
select empno, ename, job, sal, hiredate
from emp
order by ename;

 

练习:查询student表中,学员姓名(sname)、分数(score)、班级(sclass),根据分数从大到小排序。

分析:从大到小,就是降序 desc

mysql> select sname, score, sclass-> from student-> order by score desc;
+------------+-------+--------+
| sname      | score | sclass |
+------------+-------+--------+
| rose       | 100.0 | 2年1班 |
| lucy       |  99.0 | 2年1班 |
| 猪八里     |  90.5 | 2年2班 |
| toms       |  90.0 | 1年1班 |
| 孙多多     |  90.0 | 2年3班 |
| 我吃西红柿 |  88.5 | 1年2班 |
| 烽火戏诸侯 |  82.5 | 1年1班 |
| 孙权       |  80.0 | 1年3班 |
| jack       |  78.0 | 2年1班 |
| 天蚕土豆丝 |  77.0 | 1年2班 |
| jack       |  75.0 | 1年3班 |
| 沙僧       |  70.5 | 1年3班 |
| james      |  67.0 | 2年2班 |
| 孙悟空     |  65.0 | 2年2班 |
| 唐家三少   |  65.0 | 1年1班 |
+------------+-------+--------+
15 rows in set (0.00 sec)

 案例:查询student表中,学员姓名(sname)、分数(score)、班级(sclass),先根据班级(sclass)升序排序,再根据分数(score)降序排序。

mysql> select sname, score, sclass-> from student-> order by sclass asc, score desc;
+------------+-------+--------+
| sname      | score | sclass |
+------------+-------+--------+
| toms       |  90.0 | 1年1班 |
| 烽火戏诸侯 |  82.5 | 1年1班 |
| 唐家三少   |  65.0 | 1年1班 |
| 我吃西红柿 |  88.5 | 1年2班 |
| 天蚕土豆丝 |  77.0 | 1年2班 |
| 孙权       |  80.0 | 1年3班 |
| jack       |  75.0 | 1年3班 |
| 沙僧       |  70.5 | 1年3班 |
| rose       | 100.0 | 2年1班 |
| lucy       |  99.0 | 2年1班 |
| jack       |  78.0 | 2年1班 |
| 猪八里     |  90.5 | 2年2班 |
| james      |  67.0 | 2年2班 |
| 孙悟空     |  65.0 | 2年2班 |
| 孙多多     |  90.0 | 2年3班 |
+------------+-------+--------+
15 rows in set (0.00 sec)

 练习:查询emp表中,员工姓名、职位、工资、部门编号,先根据部门编号降序排序,再根据工资升序排序。

mysql> select ename, job, sal, deptno-> from emp-> order by deptno desc, sal asc;
+--------+-----------+---------+--------+
| ename  | job       | sal     | deptno |
+--------+-----------+---------+--------+
| conter | manager   | 3500.00 |     90 |
| tianni | clerk     |  500.00 |     60 |
| mitter | clerk     | 1500.00 |     40 |
| james  | clerk     |  950.00 |     30 |
| ward   | salesman  | 1250.00 |     30 |
| martin | salesman  | 1250.00 |     30 |
| turner | salesman  | 1500.00 |     30 |
| allen  | salesman  | 1600.00 |     30 |
| blake  | manager   | 2850.00 |     30 |
| smith  | clerk     |  800.00 |     20 |
| ford   | analyst   | 3000.00 |     20 |
| jones  | manager   | 3500.00 |     20 |
| miller | clerk     | 1300.00 |     10 |
| clark  | manager   | 4450.00 |     10 |
| king   | president | 5000.00 |     10 |
+--------+-----------+---------+--------+
15 rows in set (0.00 sec)

 排序的目的:改变查询结果的返回顺序!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/151828.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大数据软件项目的数据清洗

大数据软件项目中的数据清洗是数据预处理过程中的重要环节,用于识别和纠正数据集中的错误、不一致性和不完整性。虽然没有专门的"数据清洗开发框架",但有许多工具和库可用于数据清洗任务。以下是一些常见的数据清洗工具和库,可以与…

win10 U盘安装教程

一年内,第三次重装电脑了,我必须要写一份教程了。从制作U盘开始,到重装系统,全部都记录一下,以备不时之需。 首先,找一个U盘,如果U盘内有需要文件,请自行备份,因为这个U盘…

JVM(Java虚拟机)

目录 1.JVM 简介 1.1 JVM 发展史 1.Sun Classic VM 2.Exact VM 3.HotSpot VM 4.JRockit 5.J9 JVM 6.Taobao JVM(国产研发) 1.2 JVM 和《Java虚拟机规范》 2. JVM 运行流程 JVM 执行流程 3. JVM 运行时数据区 3.1 堆(线程共享&…

泛型的小结

文章目录 什么是泛型泛型的相关概念泛型的作用 泛型的使用泛型类语法泛型接口语法泛型方法语法泛型类的简单示例泛型接口的简单示例基于泛型的简单工厂方法泛型的上界与下界 泛型的一些使用建议 什么是泛型 从JDK1.5开始引入泛型(generic)语法。对类型实…

一文看懂光模块的工作原理

你们好,我的网工朋友 光模块有很多类别,是我们经常要用到的PHY层器件。虽然封装,速率,传输距离有所不同,但是其内部组成基本是一致的。 以太网交换机常用的光模块有SFP,GBIC,XFP,X…

【Linux】 rm命令使用

作为一个程序员 我们经常用到rm -rf * 或者rm -rf XXX 。但是rm -rf 是什么意思不是很清楚,咱们一起来学习一下吧。 rm(英文全拼:remove)命令用于删除一个文件或者目录。 rm 命令 -Linux手册页 著者 由保罗鲁宾、大卫麦肯齐、理…

10.8队列安排,最少找字典次数,表达式转换与计算模拟(栈、队列)

队列安排1160 灵活的插入与删除 用队列实现的话,就是双端队列, 第一阶段是要找到对应编号的同学,然后根据p的取值决定是怎么插入 第二阶段也是要找到对应编号同学,之后就删除,如果找不到就返回 思路是这个思路&…

为什么团队需要实时协作?该如何实现?

协作是任何组织成功的关键部分,通过明确定义的愿景和使命并基于透明度和持续沟通来执行。 实时的协作是指员工之间就不同的项目、任务、文件或文档进行同步、无缝的互动和协作,他们几乎不受任何地理边界的限制,即时沟通和分享反馈、想法和信…

【AI视野·今日Robot 机器人论文速览 第四十七期】Wed, 4 Oct 2023

AI视野今日CS.Robotics 机器人学论文速览 Wed, 4 Oct 2023 Totally 40 papers 👉上期速览✈更多精彩请移步主页 Interesting: 📚基于神经网络的多模态触觉感知, classification, position, posture, and force of the grasped object多模态形象的解耦(f…

从零开始的C++(七)

1.malloc、free和new、delete的区别: 1、.malloc、free是函数,new、delete是运算符。 2、malloc不会调用构造函数,new可以调用构造函数。 3、malloc开辟失败返回NULL,new失败会捕捉异常。 4、malloc不会自动计算类型大小&…

好奇喵 | PT(Private Tracker)——什么是P2P,什么是BT,啥子是PT?

前言 有时候会听到别人谈论pt,好奇猫病又犯了,啥子是pt? PT——你有pt吗?啥是pt? 从BT开始 BitTorrent是一种点对点(P2P)文件共享协议,用于高速下载和上传大型文件。它允许用户通…

钡铼BL124PN:简单快速转换Profinet到Ethernet/IP

钡铼技术BL124PN是一款高性能的Profinet转Ethernet/IP网关设备。该网关专为工业自动化领域设计,用于实现不同协议之间的互连和通信。BL124PN采用可靠稳定的硬件和先进的通信技术,具有以下主要特点: 协议转换能力:BL124PN能够将Pr…

暴力破解及验证码安全

1.暴力破解注意事项 1、破解前一定要有一个有郊的字典(Top100 TOP2000 csdn QQ 163等密码) https://www.bugku.com/mima/ 密码生成器 2、判断用户是否设置了复杂的密码 在注册页面注册一个,用简单密码看是否可以注册成功 3、网站是…

RabbitMQ-网页使用消息队列

1.使用消息队列 几种模式 从最简单的开始 添加完新的虚拟机可以看到,当前admin用户的主机访问权限中新增的刚添加的环境 1.1查看交换机 交换机列表中自动新增了刚创建好的虚拟主机相关的预设交换机。一共7个。前面两个 direct类型的交换机,一个是…

TDengine+OpenVINO+AIxBoard,助力时序数据分类

时间序列数据分析在工业,能源,医疗,交通,金融,零售等多个领域都有广泛应用。其中时间序列数据分类是分析时序数据的常见任务之一。本文将通过一个具体的案例,介绍 Intel 团队如何使用 TDengine 作为基础软件…

019 基于Spring Boot的教务管理系统、学生管理系统、课表查询系统

基于Spring Boot的教务管理系统、学生管理系统、课表查询系统 一、系统介绍 本作品主要实现了一个课表查询系统,采用了SSM(Spring SpringMVC MyBatis)的基础架构。 二、使用技术 spring-bootspring-MVCthymeleafmybatis-plusdruidLombo…

windows 远程连接 ubuntu桌面xrdp

更新 sudo apt update安装组件 sudo apt-get install xorg sudo apt-get install xserver-xorg-core sudo apt-get install xorgxrdp sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utilsxrdp sudo apt install xrdp sudo systemctl status xrdp sudo …

数据统计--图形报表--ApacheEcharts技术 --苍穹外卖day10

Apache Echarts 营业额统计 重点:已完成订单金额要排除其他状态的金额 根据时间选择区间 设计vo用于后端向前端传输数据,dto用于后端接收前端发送的数据 GetMapping("/turnoverStatistics")ApiOperation("营业额统计")public Result<TurnoverReportVO…

「专题速递」JPEG AI、端到端图像编码的标准化及产品落地、深度学习

从最初的追随者到如今的领跑者&#xff0c;中国的超高清视频编解码技术已经走过20年的漫长征程。从开始制定不同的视频编解码标准&#xff0c;如H.264/265、AV1、VVC、AVS&#xff0c;再到积极地探索基于AI的视频编码技术。视频编解码——这一将视频数据高效压缩、传输和解码还…

mybatis-plus 多数据源配置

1. 双数据库创建 两个数据库各有一张表 2. yml中配置双数据库 下面的配置来源于mybatis-plus官网 spring:datasource:dynamic:primary: master #设置默认的数据源或者数据源组,默认值即为masterstrict: false #严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,fal…