mysql 中同时使用orderby和groupby的分析
2017-12-28 20:43
218 查看
最近做项目写sql的时候同时使用到了order by 和 group by.然而查询出来的结果不是自己想象中的那样.
下面来分析一样原因:
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 里面已经存在的字段.
下面来分析一样原因:
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 里面已经存在的字段.
相关文章推荐
- orderby与groupby同时使用
- mysql中orderby和limit同时使用的bug
- mysql中orderby和limit同时使用的bug
- MySQL性能分析及explain的使用
- Mysql使用Profiling分析语句消耗
- mysql内存使用分析(一)
- 使用mysql自有的表分析innodb死锁情况
- [转]使用Excel分析MySQL数据[http://database.ctocio.com.cn/tips/145/7138145_3.shtml]
- 【Mysql】分析Mysql慢查询之mysqldumpslow命令的使用
- Mysql的游标的定义使用及关闭深入分析
- MySQL DNS的使用过程详细分析
- 使用pt-query-digest分析mysql slow query log
- 使用mysqlsla分析mysql日志
- 【MySQL】MySQL数据模型、字符编码介绍与使用场景分析
- mysql内存使用分析(二)
- 使用mysqldumpslow和mysqlsla分析mysql慢查询日志
- 关于List<T> :Distinct 和 OrderBy 、GroupBy使用简例
- [MySQL优化] -- 如何使用SQL Profiler 性能分析器
- Mysql自带profiling性能分析工具使用分享
- [MySQL优化] -- 如何使用SQL Profiler 性能分析器