1.使用数据库group by的注意点:
作用:按照组分类,一般配合avg(s)(分组求s字段的平均值)
1.select语句中出现的非组函数的字段必须声明在group by中;
2.group by必须声明在from后面,where后面,order by前面,limit前面;
select 语句的书写顺序 |
select 选择字段 |
from 选择表:join 。。。 on多表连接条件 |
where 多表连接条件或者过滤条件 |
group by 按条件分组 |
having 过滤条件 |
order by 排序 |
limit |
3.group by中使用with rollup;就在是基础上加上所有行的一个平均值。
2.使用数据库where的注意点:
作用:设置一个条件用来筛选数据比如where salary > 6000;
1.当比较条件中的字段含有聚合函数时(avg;max;min;等)时得用having实现
2.设置多表的链接条件
3.
3.使用数据库having的注意点:
作用:用来过滤数据的(参考where)
1.当过滤条件中的字段含有聚合函数时必须用having替换where实现。
2.如果出现having时,得写在group by的后面,否则报错
3.只能配合group by使用否则没有意义
4.即使过滤条件中没有聚合函数时依旧可以使用having;但是一般不这样
2.使用数据库order by的注意点:
作用:按照s字段的某些特性排序默认升序;(使用“desc时会降序;asc为升序”)
1.也可以这样用order by 列名1,列名2。。。按照你指定的顺序排序
2.也可以这样用order by 字段对应的序列号2。。。按照你指定的字段所在的序列顺序排序
3使用数据库in的注意点:
作用:用来过滤数据的配合where使用,例如 where s字段 in (a b c d):当s = a b c d时