分组语句 group by 作用就是将一个或是多个列数据进行结果分组,通过成聚合函数来组合使用,如sum()求和 max()最大值 min()最小值count()计数 语法:select name,max(age) form users group by name having … group by前面可以没有where 也可以执行 having 可以做分组条件的筛选
字符函数length()获取字节个数,utf-8一个字符顶三个字节,
先说一下sql的执行顺序,我虽然已经写过了这个但是还是在这里在写一遍吧 sql queries run in this order form 首先第一步要确定表, join连接表条件,这个可以对表的数据进行筛选,过滤掉多余的数据, where对整体数据进行一个筛选,对想要输出显示的数据或是不想要显示的数据进行条件满足 group by 对显示出的数据进行分组,having对分好组的数据再进行一次数据过滤 select 显示出想要的数据 order by 对显示出来的数据进行一个排序 aes desc limit 对显示出来的数据进行一个分页或是理解分组也可以吧 显示出来的数据很多的话就很有必要会分组limit 其实可以这样想,把表作为是一个底层, 把显示出来的数据比作是视图,想或取数据肯定是要先确定表,表条件, 然后在对表数据进行业务处理(分组 ),最后在把查询来的数据进行美化 select order by limit
注意几个点 在group by 后面不能使用where ,where 在group by之前,只能使用having来约束 可以在group by之后写order by order by是最后实现的,所以可以在任何数据后面, limit是数据查询显示之后最最最后才进行分页,还有就是尽量在连接多表使用表别名来区分,