MYSQL:SELECT * FROM (SELECT * FROM USER ORDER BY USER_NAME) TMP LIMIT 0 20

MySql 码拜 9年前 (2015-11-12) 778次浏览
在mysql中执行如SELECT * FROM (SELECT * FROM USER ORDER BY USER_NAME) TMP LIMIT 0 20这种语句,最终结果为什么没有安装user_name排序
解决方案:10分
查询子集中的排序是不起作用的吧。
SELECT * FROM USER ORDER BY USER_NAME LIMIT 0 20
解决方案:30分
SELECT * FROM (SELECT * FROM USER ORDER BY USER_NAME) TMP LIMIT 0 20
这种写法,你看看执行计划,应该会用到临时表,文件排序,所以不能保证排序后的结果集,会按照排序的顺序插入到临时表中。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明MYSQL:SELECT * FROM (SELECT * FROM USER ORDER BY USER_NAME) TMP LIMIT 0 20
喜欢 (0)
[1034331897@qq.com]
分享 (0)