关于MySQL的order by与group by的组合使用
来源:互联网 发布:大地彩票完整源码 编辑:程序博客网 时间:2024/05/16 11:12
group by会用吧?order by也会用吧?可是,同时使用的时候,结果却有了出入?
那么,那么在你郁闷的时候,静下心来思考吧……
在group by 和order by同时使用的时候,你的排序策略(即asc or desc)会直接影响结果和写法的
分析
1.group by 先于order by执行
2.group by 的时候 会首先对结果进行排序 然后再分组的
3.group by 的排序是升序的
4.如果你只是排分组字段的顺序为升序,那么你都可以不用order by 直接group by的结果就ok
5.如果是降序 或者其他字段 那么 可能你类似这样的写法
select * from table group by xxx order by xxx;
得到的结果就可能不对的
方案
如果你想得到正确的结果 就要select * from (select * from table order by xxx desc)temp group by xxx ;
或者再加order by 得到你需要的排序
注意
采用先排序后分组的写法后,where条件的位置请小心啦
select * from (select * from table order by xxx desc)temp where column1='xxx' group by xxx ;#注意where写在这里会导致排序的工作,所以这个写法极可能导致错误select * from (select * from table where column1='xxx' order by xxx desc)temp group by xxx ;#这是推荐写法
(ps:be always thinking……)
- 关于MySQL的order by与group by的组合使用
- mysql的group by ,order by语句的使用
- mysql 中order by 与group by的顺序
- mysql的group by 与order by排序问题
- mysql中order by与group by的顺序
- mysql中order by与group by的顺序
- mysql “group by ”与"order by"的研究
- order by 与group by的区别!
- group by与order by的研究
- 关于mysql中 group by , order by , where, having 语句的区别与运用
- mysql :group by 与order by 共同使用时排序问题,小心utf8的排序
- mysql group by 与order by 一起使用
- 关于group by 、group by having、where group by与 group by order by
- group by与order by同时使用
- group by与order by同时使用
- Mysql的distinct语句和group by,order by
- MySQL Order by 、Group by 、Distinct的优化
- mysql的order by,group by和distinct优化
- extjs学习小计
- ubuntu下配置nginx 加php需注意事项
- empty character constant
- 高效程序员的 7 个共同特征
- Make脚本
- 关于MySQL的order by与group by的组合使用
- SQL2005安装步骤
- wpf学习笔记---Canvas
- 点击PopupWindow外部消失
- centos安裝QQ
- listview中添加CheckBox,二者的点击互不影响
- 面试其实很好,很强大-----我的百次面试经验
- View初步
- WPF中Menu的使用