在网上查了到说子查询中增加 limit 会生效。 但是实际尝试后发现结果顺序还是随机的,只不过需要执行多次后才会变化。
求助让子查询排序生效的办法。
3条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
Lei_Da_Gou 2018-06-26 06:06最佳回答 专家已采纳mysql5.7会自动优化掉子查询中的order by,但是子查询后加了limit 0,10000后就防止了mysql的自动优化,我测试排序是可以的啊。
SELECT temp.* FROM(
SELECT * FROM t_kaoqin
WHERE p_id=1 AND TO_DAYS(t_kaoqin.kq_time)=TO_DAYS(NOW())
ORDER BY kq_time DESC LIMIT 0,10000) AS temp GROUP BY temp.user_id
采纳该答案 已采纳该答案 专家已采纳评论解决 4 无用打赏举报微信扫一扫
分享评论登录 后可回复...
查看更多回答(2条)
报告相同问题?
提交
相关推荐 更多相似问题
- 2018-06-26 05:46回答 3 已采纳 mysql5.7会自动优化掉子查询中的order by,但是子查询后加了limit 0,10000后就防止了mysql的自动优化,我测试排序是可以的啊。 SELECT temp.* FROM(
- 2018-12-15 10:38回答 5 已采纳 事务插入可以提供性能
- 2021-06-01 17:29回答 2 已采纳 mysql5.7对子查询order by做了优化,你这么写会被忽略掉,5.6还是可以的,5.7要改写:子查询加一个limit子句或者使用聚合函数获取数据再关联原表的写法
- 2021-02-01 13:27火锅与理想的博客 mysql5.7以及以后版本将会对order 语句有默认的规则,因此 在子查询内部 使用order by 可能会被忽略。网上解决的方法啊大多数是在子查询 的order by xxx desc 后增加 limit 99999.本地测试如下:select tab_.*,ias....
- 2021-07-09 18:19当我菜到家了那就是菜到家了的博客 mysql5.7版本分组并排序(排序并分组)不生效 这是mysql5.7版本特有bug , 解决方式如下 SELECT * FROM ( SELECT * FROM user ORDER BY age ASC LIMIT 999999999 ) user1 GROUP BY user1...
- 2021-01-10 13:32最近从安全性和性能方面考虑,最近打算把腾讯云的MySQL数据库迁移到AWS RDS上,因为AWS的出口规则和安全组等问题,我需要修改默认的3306端口和Bind Address限制特定的IP访问,我在Stackoverflow上查询了如何修改,...
- 2020-04-27 11:59回答 1 已采纳 你的end 之后 需要跟着你自己设置的// , 不能用$
- 2013-07-12 12:00回答 2 已采纳 SELECT x.* FROM ( SELECT * FROM show_episode e JOIN shows s
- 2021-11-30 16:50回答 2 已采纳 把 mysql-connector-java 这个包版本给高升 我之前弄6.0也遇到过 连接mysql7 最后 49版本 解决
- 2017-12-22 15:072lovecode的博客 问题:mysql5.7子查询order by失效 原因:在mysql5.7中,如果不加limit,系统会把order by优化掉。
- 2018-05-24 11:04lxlmycsdnfree的博客 select * from (SELECT * FROM article WHERE is_top=0 ORDER BY id DESC) as t1unionselect * from (SELECT * FROM article WHERE is_top=1 ORDER BY start_time desc) as t2然后还是发现子查询的...
- 2020-09-28 14:31大唐锦绣的博客 且通过子查询提前将交互时间(最后一次访问客服时间)进行排序 (1)客服服务日记表 CREATE TABLE `kefu_service_log` ( `id` int(11) NOT NULL AUTO_INCREMENT, `kefu_id` int(11) DEFAULT NULL, `user_id` int(11)...
- 2018-01-18 06:29回答 6 已采纳 我发表的博客中有一篇centos7源码安装mysql5.7.9,我这里有安装包,不懂可以私聊我。
- 2022-04-15 22:51回答 3 已采纳 额,驱动包有5.7打头的版本?数据库版本和数据库驱动包的版本不是一样的,你换成这个 <dependency> <groupId>mysql</groupId>
- 2022-04-11 14:04回答 2 已采纳 你那条exists的sql应该像下面这样,语法才是正确的 SELECT y.city_name, y.employee_number FROM sddp.month y
- 2021-08-21 22:39大坏蛋^_^的博客 索引可以提供查询的速度,但并不是使用了带有索引的字段查询都会生效,有些情况下是不生效的,需要注意! 1.1.1、使用LIKE关键字的查询 在使用LIKE关键字进行查询的查询语句中,如果匹配字符串的第一个字符为“%”...
- 2022-05-14 17:06qq_41569544的博客 按照先进先出的规则,一种是一个一个查,还有一种就是通过分组然后统一返回,这时候就要用到mysql (以下场景均为5.7版本)order by和group by 问题描述 order by 之后,再使用group by,有些数据并不是最先获得...
- 2020-05-27 10:03慕容雪_的博客 MySQL8.0子查询中使用order by不生效的问题 0、备忘记录,在以后项目中遇到此类问题可以快速查阅 1、项目背景如下,获取当天每个人员门禁通行记录的最新一条记录作为出勤记录。 2、根据需求,想到的肯定是使用...
- 2019-07-06 21:46回答 1 已采纳 因为a列都不是数字,所以+0,结果都是0 因为都是0,按照这一列排序,结果就是随机的 具体参考:https://www.cnblogs.com/po-shi/p/10137645.html
- 2021-01-19 08:31off彩蛋的博客 场景:在数据库中,当同一个目标有多个值时,需要按序找出其对应最大/最小的那一条,或者是按序的第多少条...image.png解决:可以使用子查询的limit,然后再查询子查询出来的表。需要注意一点:SELECT * FROM(SELEC...
- 没有解决我的问题, 去提问