mysql 写sql的顺序:
        select -> from-> where->group by->having->order by. 
但mysql的解析器执行顺序:
        from-> where->group by->having->select->order by.
所以,从执行的流程来看,是先group by 然后在 order by.
order by拿到的结果里已经是group by以后的结果. 因此,order by的字段必须是group by 里面已经存在的字段.
---------------------   GROUP BY 和 ORDER BY一起使用时,ORDER BY要在GROUP BY的后面。 group by a,b,c       则a,b,c三个字段是按照先按a字段对数据行进行排序,再按b字段对那些字段a为同一个值的数据行进行排序,再再按c字段对那些字段a为同一个值且字段b为同一个值的数据行进行排序 order  by a,b,c   也是如此 故而
表T 有a,b,c三个字段,按a分组再按c排序的方法如下:
select * from T order  by a,c//两个字段顺序不能颠倒
或者
select * from T group  by a,c//两个字段顺序不能颠倒
---------------------
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄