排序与分组函数(未补充)
2021-01-27 07:16
标签:count 最小 条件 最小值 怎样 顺序 情况下 from 字段 注意: 默认是升序。asc表示升序,desc表示降序。 select 字段 from 表名 where 条件 order by ... ? 3 1 2 4 分组函数一共5个。 重点: 所有数据库都是这样规定的,只要有null参与的运算结果一定是null。 排序与分组函数(未补充) 标签:count 最小 条件 最小值 怎样 顺序 情况下 from 字段 原文地址:https://www.cnblogs.com/zhangtongjian/p/12846096.html排序
select 列名, from 表名 order by 列名; //默认升序
select 列名, from 表名 order by 列名 asc; // 指定升序
select 列名, from 表名 order by 列名 desc; // 指定降序
按照工资的降序排列,当工资相同的时候在按照名字的升序排列。
select ename,sal from emp order by sal desc,ename asc;
意思是sal相等的情况下在执行后面的语句,不相等则不执行
注意:越靠前的字段越能起到主导作用。只有当前面的字段无法完成排序的时候,才会启用后面的字段。!执行顺序
分组函数
记住: 所有的分组函数都是对"某一组"数据进行操作的。
select 分组函数(字段 ) from 表名 ;
找出工资总和: select sum(sal) from emp;
找出最高工资: select max(sal) from emp;
找出最低工资: select min(sal) from emp;
找出评价工资: select avg(sal) from emp;
找出总人数: select count(*) from emp;
分组函数还有另一个名字: 多行处理函数。
多行处理函数的特点:输入多行,最终输出的结果是1行。
!!!!!!!!!!!!分组函数自动忽略null。
select ename,(sal+comm)*12 as yearsal from emp;
那么怎样处理空值呢?
ifnull(可能为NULL的数据,被当做什么处理): 属于单行处理函数。
select 字段,ifnull(字段,0) from emp;