mysql 语句中如果没有使用 order by 来排序,通常会用 主键正序排列,但是有的时候不是这样,来看一个实例。

实例

群友问:请教一个问题,mysql 默认排序问题,当sql 语句 的排序没有指定 主键(id)的时候是按着什么规则排序的呢?

这个 sql 语句 当 hit_count = 0 和 uptime = 0 时 的数据和 跟 limit_count 变化

根据 id 来看,当 uptime 为0时,的确是混乱了,order by是不是应该相当于没有效果。

讨论

来自网友的回答:

大概意思就是数据储存的表 不是有序的,而是一个集合,在没有使用 order by 来排序的时候,不能默认就是 根据主键排序。

查阅

然后从 stackoverflow 上查了一下,找到了这样的回答:

There is no default sort order. Even if the table has a clustered index, you are not guaranteed to get the results in that order. You must use an order by clause if you want a specific order.

大概意思:没有默认的排序顺序。即使表具有聚集索引,也不能保证按该顺序获得结果。如果需要特定的顺序,则必须使用ORDER BY子句。

结论

到这大家应该明白了,mysql 的没有默认排序,如果需要排序一定要加上 order by 来排序,大家有没有遇到过这样的问题,欢迎一起来讨论,如果有不对的地方,请指正,感谢。

mysql查询默认排序规则_深究 mysql 默认排序, order by 的顺序【收藏】相关推荐

  1. mysql常用排序规则_在MySQL中,我应该选择哪种排序规则?

    当我通过phpmyadmin创建一个新的mysql数据库时,我可以选择排序规则(例如-default.armscii8.ascii-).和UTF-8).我知道的是utf-8,因为我总是在HTML源代码 ...

  2. mysql 2个排序规则_基于mysql 默认排序规则的坑

    mysql默认varchar类型是对大小写不敏感(不区分),如果想要mysql区分大小写需要设置排序规则: utf8_bin将字符串中的每一个字符用二进制数据存储,区分大小写. utf8_genera ...

  3. mysql选择排序规则_关于mysql创建数据库中字符集和排序规则的选择

    1:字符集: 一般 主要选择两种: 1:utf8   (看unicode编码区从1 - 126就属于传统utf8区,),一般都够用,除非需要存储特殊字符 2:utf8mb4(utf8mb4兼容utf8 ...

  4. mysql查询字段纯字母_解决MySQL之中一个字段中无法精准的查询多语言语言字母的问题...

    解决MySQL之中一个字段中无法精准的查询多语言语言字母的问题 解决MySQL之中一个字段中无法精准的查询多语言语言字母的问题 目录 1.使用场景 2.实现过程及展示结果 2.1.修改字段排序规则为u ...

  5. mysql查询语句详解_基于mysql查询语句的使用详解

    1> 查询数据表除了前三条以外的数据. 起初我想到的是这条语句 SELECT * FROM admin WHERE userid NOT IN (SELECT userid FROM admin ...

  6. mysql 查询多个总和_使用MySQL查询选择多个总和,并在单独的列中显示?

    要使用MySQL查询选择多个总和列并将它们显示在单独的列中,您需要使用CASE语句.语法如下:SELECT SUM( CASE WHEN yourColumnName1='yourValue1' TH ...

  7. mysql查询数学成绩信息_【MySQL】:利用DQL查询表中的数据

    DQL(Data Query Language):数据查询语言,用以查询数据库中表的记录(数据). CREATE TABLE exam( id INT PRIMARY KEY AUTO_INCREME ...

  8. mysql查询是否走索引_探索MySQL是否走索引(一)——范围查询一定走索引吗?

    首先,准备4个版本的数据库,5.5/5.6/5.7/8.0 然后,每个库中有一模一样的表,数据量一样,建立的索引一样,InnoDB引擎. 先看一看,各个版本中,索引统计信息(Cardinality代表 ...

  9. mysql查询中使用别名_在mysql子查询中使用外部别名

    查看 this - SELECT rating, user_id, (SELECT COUNT(*) FROM teachers_rating t1 WHERE teacher_id = 3 AND ...

最新文章

  1. oracle常用sql命令
  2. ASP.NET MVC Module
  3. javascript 本地对象和内置对象_JavaScript 的面向对象
  4. 再见,付费录屏软件!我用70行Python代码打造免费版!
  5. ubuntu下的jdk进行升级_Ubuntu下JDK升级1.7
  6. 百度地图 创建应用
  7. springboot上传图片到阿里云OSS并实现浏览器预览
  8. 信号与系统作业之我的朋友把我的大作业分享了好朋友
  9. Elasticsearch 之(20)proximity match 近似匹配
  10. 实时音视频数据传输协议介绍
  11. Nacos集群部署方案
  12. 深度学习入门笔记(一)
  13. MYSQL5.7设置账号密码复杂度、密码有效期、账号锁定等策略
  14. 根据Date类型出生年月日计算出年龄
  15. OpenGL3.3transform feedback再理解
  16. android 空包写入签名(OPPO、VIVO、小米等)
  17. 【转载】PTN与IPRAN承载LTE的比较
  18. 加州大学河滨分校计算机科学排名,2019加州大学河滨分校排名(USNews排名)
  19. 随笔札记——sox除燥
  20. 百度,阿里,腾讯薪资体系

热门文章

  1. https 密钥 php,https加密方式是什么
  2. docker 安装mysql 实战文档_docker 安装mysql
  3. hive map格式转换为字符串_Hive与MySQL的不同之处之类型转换cast和covert函数
  4. c# 浮点数十六进制字符串_从C#中包含十六进制值的字符串数组中打印整数值...
  5. Redis 快速搭建与使用
  6. 你真的理解零拷贝了吗?
  7. MongoDB基础介绍安装与使用
  8. js的navigator对象的使用(浏览器信息)
  9. Linux(Ubuntu20.10)安装GIMP
  10. 部署虚拟环境安装Linux系统(Linux就该这么学)笔记