🗒️先ORDER后JOIN引发乱序,附解决方法
type
status
slug
date
summary
tags
category
password
icon
先ORDER后JOIN引发无需,附解决方法大概是这样:
我在查询结果里面order by然后套了一层form这张order by的表,然后套的这层表join其他表,最后结果是无序的
正常解决方法就是在外层再套一层order by,这没什么好说的(sql规范是这样,子查询中order by其实是错误的语法)
但是,mysql允许通过在之查询的order by后加上limit 18446744073709551615可以保持排序结果(原理就是又建立了一张中间表)
limit 18446744073709551615 是无符号64位整数的最大值,2的64次方减1
所以,只需要在order by后加limit即可解决问题
思路原理来源:mysql组内排序
参考链接:
上一篇
docker安装的jenkins如何在宿主机启动jar包
下一篇
MySQL 批量修改表名
Loading...