所谓排序查询,也就是在查询完显示查询结果后,查询结果会以某一个字段的属性排序所得的顺序进行展示,这就是排序查询。
排序查询的语法:
select 查询列表
from 表
【where 筛选条件】
order by 排序列表 【asc / desc】
排序查询的特点:
-
不写asc或者desc,默认升序
-
asc:升序,从低到高
-
desc:降序,从高到低
-
order by 子句中可以直接单个字段、多个字段、表达式、函数、别名
-
order by 子句一般是放在查询语句的最后面,limit语句除外
# 案例1:查询员工信息,要求工资从高到低排序
SELECT *
FROM `employees`
ORDER BY `salary`;
# 案例2:查询部门编号>=90的员工信息,按照入职时间的先后进行排序
SELECT *
FROM `employees`
WHERE `department_id` >= 90
ORDER BY `hiredate`;
# 案例3:按年薪的高低显示员工的信息和年薪【按表达式排序】
SELECT *, `salary` * 12 *(1 + IFNULL(`commission_pct`, 0)) AS 年薪
FROM `employees`
ORDER BY `salary` * 12 *(1 + IFNULL(`commission_pct`, 0)) DESC;
# 案例4:按年薪的高低显示员工的信息和年薪【按别名排序】
SELECT *, `salary` * 12 *(1 + IFNULL(`commission_pct`, 0)) AS 年薪
FROM `employees`
ORDER BY 年薪 DESC;
# 案例5:按姓名的长度显示员工的姓名和工资【按函数排序】
# 在这个案例中会用到一个函数length(),其返回值是返回当前字符串的长度
### 总目录展示
该笔记共八个节点(由浅入深),分为三大模块。
**高性能**。 秒杀涉及大量的并发读和并发写,因此支持高并发访问这点非常关键。该笔记将从设计数据的动静分离方案、热点的发现与隔离、请求的削峰与分层过滤、服务端的极致优化这4个方面重点介绍。
**一致性**。 秒杀中商品减库存的实现方式同样关键。可想而知,有限数量的商品在同一时刻被很多倍的请求同时来减库存,减库存又分为“拍下减库存”“付款减库存”以及预扣等几种,在大并发更新的过程中都要保证数据的准确性,其难度可想而知。因此,将用一个节点来专门讲解如何设计秒杀减库存方案。
**高可用**。 虽然介绍了很多极致的优化思路,但现实中总难免出现一些我们考虑不到的情况,所以要保证系统的高可用和正确性,还要设计一个PlanB来兜底,以便在最坏情况发生时仍然能够从容应对。笔记的最后,将带你思考可以从哪些环节来设计兜底方案。
-----
篇幅有限,无法一个模块一个模块详细的展示(这些要点都收集在了这份《高并发秒杀顶级教程》里),麻烦各位转发一下(可以帮助更多的人看到哟!)
![](https://img-blog.csdnimg.cn/img_convert/a09431c68f5ccd91470c18b2c2e55816.webp?x-oss-process=image/format,png)
![](https://img-blog.csdnimg.cn/img_convert/3fba698a62154f46be5ca3b14d46a926.webp?x-oss-process=image/format,png)
由于内容太多,这里只截取部分的内容。
助更多的人看到哟!)
[外链图片转存中...(img-TNSDCDux-1721149611883)]
[外链图片转存中...(img-THXqODVW-1721149611883)]
由于内容太多,这里只截取部分的内容。