排序(order by)

news2024/11/25 3:01:56

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.coloradmin.cn/o/1071225.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

学习笔记(css穿透、vue-cookie、拦截器、vuex、导航守卫、token/Cookie、正则校验)

目录 一、记录 1、CSS穿透 2、输入框是否提示输入 3、插槽 #slot 4、v-deep深入改掉属性值 二、vue-cookie 1、官方文档 2、使用 三、拦截器 1、请求拦截器 2、响应拦截器 四、vuex对信息存取改 五、路由导航守卫 1、登录思路 2、设置白名单 六、Token与Cookie…

vue3 集成 tailwindcss

tailwindcss 介绍 Tailwind CSS 是一个流行的前端框架,用于构建现代、响应式的网页和 Web 应用程序。它的设计理念是提供一组可复用的简单、低级别的 CSS 类,这些类可以直接应用到 HTML 元素上,从而加速开发过程并提高样式一致性。 主要特点…

【数据结构与算法】二叉树的实现以及二叉排序数的实现

目录 通过数组实现二叉树 通过链表实现二叉树 排序二叉树的实现 通过数组实现二叉树 该实现方式只能用于完全二叉树,因为如果是普通二叉数的话,数组中会出现空隙,会导致空间的利用率会降低。 实现思路: 因为假设一个父节点的…

原码反码补码移码的介绍和计算

1.原码 原码的定义:十进制数据的二进制表示形式就是原码。 (1)原码的最左边那位是符号位,其他位为数据位,符号位是0则为正数,符号位是1则为负数。 (2)一个byte有8bit,最…

Node-RED系列教程-25node-red获取天气

安装节点:node-red-contrib-weather 节点图标如下: 使用说明:node-red-contrib-weather (node) - Node-RED 流程图中填写经度和纬度即可。 演示: json内容: {

jmeter 请求发送加密参数

最近在做http加密接口,请求头的uid参数及body的请求json参数都经过加密再发送请求,加密方式为:ase256。所以,jmeter发送请求前也需要对uid及json参数进行加密。我这里是让开发写了个加密、解密的jar,jmeter直接调用这个…

CRM系统如何自动分配线索

分配线索是销售部门很重要的一项工作,大量的线索中潜藏着许多企业未来的忠实客户。如果将大把的线索通过手工的方式分配给多个销售人员是一件棘手的事,就要借助CRM系统自动分配线索。 你的企业是否也面临这些难题: 1.渠道多线索多&#xff…

点击、拖拉拽开发可视化大屏,网友直呼不可思议

可视化大屏既足够炫酷,又能快速整合多业务系统数据,可视化分析数据,是一种可运用于博览中心、会议中心、监控中心、企业大屏看板等场景的常用数据可视化分析形式。但可视化大屏虽然好用,在开发制作上却难倒了不少人,直…

汇编实现点灯实验

.text .global _start _start: 设置GPIOF寄存器的时钟使能LDR R0,0X50000A28LDR R1,[R0]ORR R1,R1,#(0x1<<5)STR R1,[R0]设置GPIOE寄存器的时钟使能LDR R0,0X50000A28LDR R1,[R0] 从r0为起始地址的4字节数据取出放在R1ORR R1,R1,#(0x1<<4) 第4位设置为1STR R1,[…

vue3 + typescript + vite + naive ui + tailwindcss + jsx 仿苹果桌面系统

基于 vue3.x typescript vite naive ui tailwindcss jsx vue-router pinia&#xff0c;项目使用 tsx 作为模版输出&#xff0c;全程没有使用vue提供的SFC&#xff0c; 仿macos桌面前端项目&#xff0c;开源免费模版&#xff0c;希望减少工作量和学习新技术&#xff0c;希…

javascript制作简单的富文本,基本功能都实现,除了上传图片只能用URL

//所有的图标用的字符&#xff0c;以后可以换成网上的css-icon图标库的图标&#xff0c;再设置一下css样式即可简单的使用 //这里所有的标签元素都是直接获取&#xff0c;没有使用委托&#xff0c;如果使用委托性能会更好&#xff0c;这里只做了简单的清理&#xff0c;让内存回…

操作系统对内存的管理:分配与回收,虚拟内存,内存容量的扩充,内存保护,补充(链接方式、装入方式)

内存&#xff1a;即内存条&#xff0c;也称主存储器&#xff08;简称主存&#xff09;&#xff0c;用于存放数据。 为了缓和CPU和外存&#xff08;磁盘&#xff09;的速度矛盾&#xff0c;外存的程序先放入内存才能被CPU处理。 内存地址从0开始&#xff0c;每个内存地址对应一…

以太网基础学习(三)——UDP协议

一、UDP协议概述 UDP&#xff08;User Datagram Protocol&#xff0c;用户数据报协议&#xff09;是一种无连接协议&#xff0c;它不像TCP协议那样需要在发送和接收数据前进行握手和释放&#xff0c;而是直接把数据发送出去&#xff0c;也不会对数据进行可靠传输和流量…

ARM_汇编流水灯

ARM_汇编流水灯 .text .global _start _start: 设置GPIOE寄存器的时钟使能ldr r0,0x50000A28ldr r1,[r0] 从r0为起始地址的4字节数据取出存入r1orr r1,r1,#(0x01<<4) 第4位设置为1 表示开启时钟使能orr r1,r1,#(0x01<<5) 第5位设置为1 表示开启时钟使能str r1…

求推荐好用的可视化大屏软件?强推奥威BI

在博览中心、会议中心、监控中心等场合下&#xff0c;经常看到很多炫酷的企业可视化大屏&#xff0c;将复杂的企业数据可视化展现&#xff0c;高大上、实用性一个不缺。那&#xff0c;可视化大屏做得好的软件有哪些&#xff1f;首推奥威BI软件。 奥威BI软件&#xff1a;零编程…

ST表(RMQ问题)

ST表能够O(1)地解决区间[l,r]之间最值问题 1.建表&#xff0c;首先明白ST[i][j]&#xff0c;表示的是区间[i, i(1<<j)-1]的最值&#xff0c;区间大小为2^j。首先初始化ST[i][0]a[i]。 void init&#xff08;&#xff09;{for(int i1; i<n; i){ST[i][0]a[i];} } 因为…

如何配置防火墙?看这篇就够了

大家好&#xff0c;我是老杨。 在互联网时代&#xff0c;网络安全的问题不用多说了&#xff0c;配置防火墙是非常必要的。 在网络的世界里&#xff0c;要由防火墙过滤的就是承载通信数据的通信包。 防火墙是位于内部网和外部网之间的屏障&#xff0c;也是系统的第一道防线。…

06.数据解析-xpath

1、什么是xpath ​ XPath (XML Path Language) 是一门在 HTML\XML 文档中查找信息的语言&#xff0c;可用来在 HTML\XML 文档中对元素和属性进行遍历。 W3School官方文档&#xff1a;http://www.w3school.com.cn/xpath/index.asp 2、认识xml 知识点&#xff1a; html和xml…

如何使用 Xunit 框架进行单元测试和集成测试

在软件开发过程中&#xff0c;测试是至关重要的一环。测试驱动开发&#xff08;Test-Driven Development&#xff0c;TDD&#xff09;是一种常用的开发方法论&#xff0c;它强调在编写代码之前先编写测试用例&#xff0c;然后通过不断迭代的方式来实现功能。为了帮助开发者更好…

解决项目报错:@org.springframework.beans.factory.annotation.Autowired(required=true)

项目使用mybatis&#xff0c;启动时报错&#xff1a; Description: Field toolsDetailsService in com.cvit.applet.controller.ToolsDetailsController required a bean of type com.cvit.applet.mapper.ToolsDetailsMapper that could not be found. The injection point has…