码迷,mamicode.com
首页 > 其他好文 > 详细

order by group by连用

时间:2017-11-20 20:23:13      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:esc   explain   操作   group   rom   derived   通过   结果   confirm   

order by 后 group by连用, mysql好像 >5.4不起作用

通过 explain 查看执行计划,可以看到没有 limit 的时候,少了一个 DERIVED 操作
估计是内部优化了,认为 ORDER BY 在这种语法中可忽略,
有 LIMIT 限制涉及排序后的结果,不会忽略 ORDER BY,可以达到预期

 

tp3.2写法

$re=M(‘confirm‘)->field(‘code,id,types,status,trimtime‘)->where($where)->order(‘trimtime desc‘)->limit(9999)->buildSql();
$res = M()->table($re.‘ a‘)->field(‘count(id) as count,code,id,types,status,trimtime‘)->group(‘code‘)->select();

//原生写法:
$dd=M()->query("select * from (SELECT `code`,`id`,`types`,`status`,`displacement`,`trimtime` FROM `s_confirm` WHERE `status` = 0 order by trimtime desc limit 1000) a  group by code ");

 

order by group by连用

标签:esc   explain   操作   group   rom   derived   通过   结果   confirm   

原文地址:http://www.cnblogs.com/xujian2016/p/7867643.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!