使用数据库group by的注意点

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时

你可能感兴趣的:(sql,mysql)