使用order by和group by的分析
2024-09-02 13:11:14
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以后的结果.
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//两个字段顺序不能颠倒
---------------------
表T 有a,b,c三个字段,按a分组再按c排序的方法如下:
select * from T order by a,c//两个字段顺序不能颠倒
或者
select * from T group by a,c//两个字段顺序不能颠倒
---------------------
最新文章
- 12306火车票查询--python
- sql事务(Transaction)用法介绍及回滚实例
- 正则表达式获取字符串中的img标签中的url链接
- 学习java第7天
- node连接--MySQL
- js对cookie的操作,包括增,取,删
- 洛谷P2728 纺车的轮子 Spinning Wheels
- C# 查询Windows Service 信息 ,所在目录 启动状态
- A. Puzzles CodeForces Round #196 (Div.2)
- C#枚举注释实例
- ASP .net(照片列表详细功能演示)
- linux入门教程(三) Linux操作系统的安装
- Codeforces Round #353 (Div. 2) C. Money Transfers (思维题)
- Codeforces #252 (Div. 2) B. Valera and Fruits
- hdu_4539_郑厂长系列故事——排兵布阵(状压DP|最大团)
- jQuery中的自定义插件之----工厂方法(Factory Widget)
- HttpServletRequest对象方法的用法
- 学习bootstrap3
- Kafka实战-Kafka到Storm
- every day a practice —— morning(3)