首页 > 其他 > 详细

order by group by连用

时间:2017-11-20 19:54:54      阅读:224      评论:0      收藏:0      [点我收藏+]

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连用

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!