一、group by 和 having
1、“SELECT子句的列名应满足分组列或列函数”。 因为SELECT有group by中包含的列
2、having必须和组by一起使用,在组by后面
3、groupby、having、order by使用顺序: groupby、having、order by
选择* |字段列表[as别名] FROM表名[WHERE子句] [GROUP BY子句][HAVING子句][ORDER BY子句][LIMIT子句] 4,having在分组后指定组通常为3358瓦时
5、分组函数常用筛选聚合函数
MIN最小值
最大值
求和和
AVG求平均
计数数
因为不允许双重聚合函数,所以过滤组时,也可以按orderby排序,然后在limit中找到极值。
聚合函数
子角色where子句1 )在将查询结果分组之前,删除不符合where条件的行。 也就是说,使用二、where/having区别过滤数据。 也就是说,过滤后再分组。
2 ) where 分组之前
3 )过滤后面不可以使用聚合函数
having子句1 ) having子句的作用是过滤满足条件的组。 也就是说,使用行过滤数据。 也就是说,先分组再过滤。
2 ) having 分组之后
3 )过滤后面可以使用聚合函数
4 )组支持所有WHERE操作员
极限偏移,长度;三、limit用法:开始行数,从0开始计数,如果省略,默认值为0
offset:返回的行数
查学生表的数据,从第3条开始显示,显示6条。
第select * from student3limit 2,6页:例如,登录京东、淘宝,返回的商品信息可能有数万条。 并不是一次全部显示。 每页显示一定的条数。
假设您要以每页显示五条记录的方式进行分页。
如果第一个参数为0,则可以省略写入
select * from student3 limit 5如果最后缺5瓶,会显示多少
slect * from student3limit 10,5