mysql多条件排序查询
概述数据库中的数据直接呈现出来一般不是我们想要的,所以我们上两节演示了如何对数据进行过滤的方法。除了对数据进行过滤,我们可能还需要对数据进行排序,比如想从列表中了解消费最高的项,就可能需要对金额字段做...
2024.11.151、现有员工表如下:
emp:empno(员工编号),empname(员工名称)sal(员工薪资)
1)查询员工的名字和薪资,按照员工的薪资倒序,薪资一样时,按照员工名字正序排。
select ename ,sal from emp order by sal desc, ename asc;
总结:越靠近前面的排序字段,起的主导作用越大。只有当前面的字段的值一样的时候,才会启用后面的字段进行排序。
2、排序的字段也可以使用查询字段的顺序来代替:
例如:select ename , sal from student order by sal; 我们可以写成这样
select ename , sal from student order by 2; 但是这种形式不健壮,我们在工作开发中,也尽量不要去这么使用。
3、order by 在sql语句中什么时候执行
selec 第三
字段1,字段2,字段3 ...
from 第一
表名
where 第二
条件
order by 第四
字段1
我们可以看出先执行 from --> where --> select --> order by
我们怎么证明order by是在select 后面执行的?
select ename ,sal * 12 as yealsal from emp order by yealsal;这条语句可以正常执行,说明order by就是在select后面执行的,应为yealsal这个字段是在select里面定义的,只有select执行了yealsal这个字段才存在,才可以使用。所以order by是在select后面执行的。
概述数据库中的数据直接呈现出来一般不是我们想要的,所以我们上两节演示了如何对数据进行过滤的方法。除了对数据进行过滤,我们可能还需要对数据进行排序,比如想从列表中了解消费最高的项,就可能需要对金额字段做...
2024.11.15概述binlog2sql是一个开源的Python开发的MySQL Binlog解析工具,能够将Binlog解析为原始的SQL,也支持将Binlog解析为回滚的SQL,以便做数据恢复。gihub:htt...
2024.11.15今天学习的主要内容是刘金玉老师MySQL数据库零基础教程第22期。学习的内容是mysql数据分类汇总。一、数据分类汇总基础知识数据分类汇总主要利用关键词group by结合聚合函数来实现。Group ...
2024.11.131、mysql分组取每组前三条记录#根据订单号(order_no)分组,每个订单取3个订单明细select *FROM ( select *, ROW_NUMBER() OVER (PARTITION...
2024.11.12大家好,我是无际。今天跟大家讲一下我在产品开发时,用枚举(enum)的一些骚操作。我跟你保证,今天的内容绝对是你在书本和视频学不到的。为什么要讲枚举呢?因为我发现它是一个容易被遗忘,同时又非常重要的关...
2024.11.12