文档章节

mysql的order by隐形陷阱

A灵云A
 A灵云A
发布于 2017/02/17 15:56
字数 242
阅读 7
收藏 0
点赞 0
评论 0

说来忏愧,做了5年php,以为php+mysql网站开发已经完全掌握了,谁知道今天被个bug打脸!

bug描述:展示用户数据时,按年龄分页排序,结果发现有数据重复的情况

我弄了两小时,做各种测试都没搞明白是什么原因导致的。

后来记录下sql日志,拿同样一条sql放到数据库运行结果发现:数据和php查询的不一样。

完全一样的sql,返回就是不一样,后来想到这些数据有个共同点,排序字段:年龄字段的值一样,我试着加上id排序,果然好了。

原来当排序字段相同时,返回排序结果不固定,查询的时候排序字段一定要增加一个不相同的字段

order by age desc,id desc

© 著作权归作者所有

共有 人打赏支持
A灵云A
粉丝 1
博文 25
码字总数 6919
作品 0
海淀
程序员
mysql group_concat合并行用法和问题

还有分隔符还可以自定义,默认是以“,”作为分隔符,若要改为“ ”,则使用SEPARATOR来指定, 例如: mysql> SELECT student_id, GROUP_CONCAT(courses_id SEPARATOR ' ') AS courses FROM s...

豆花饭烧土豆 ⋅ 2016/09/08 ⋅ 0

Mysql order by与limit混用陷阱

在Mysql中我们常常用order by来进行排序,使用limit来进行分页,当需要先排序后分页时我们往往使用类似的写法select * from 表名 order by 排序字段 limt M,N。但是这种写法却隐藏着较深的使...

architect刘源源 ⋅ 03/05 ⋅ 0

oracle:rownum 的使用技巧

声明: 本文转载出自:http://www.blogjava.net/conans/articles/219693.html ROWNUM是一种伪列,它会根据返回记录生成一个序列化的数字。利用ROWNUM,我们可以生产一些原先难以实现的结果输...

Kingstar0423 ⋅ 2017/01/20 ⋅ 0

mysql隐式转换造成索引失效的事故总结

隐式转换导致索引失效.这一点应当引起重视.也是开发中经常会犯的错误. 由于表的字段tumdn定义为varchar2(20),但在查询时把该字段作为number类型以where条件传给mysql,这样会导致索引失效. 错...

lover007 ⋅ 2014/03/07 ⋅ 0

关于 MySQL 8.0 新特性“隐藏索引”的一点思考

MySQL 8.0有一个称为“隐藏索引”的新功能,它允许快速启用/禁用MySQL Optimizer使用的索引。 在此分享一些对这个新功能的首次使用经验和想法。 对我们有什么用? 一是如果你想删除一个索引,...

andylhz ⋅ 2016/11/03 ⋅ 0

关于 MySQL 8.0 新特性“隐藏索引”的一点思考

MySQL 8.0有一个称为“隐藏索引”的新功能,它允许快速启用/禁用MySQL Optimizer使用的索引。 在此分享一些对这个新功能的首次使用经验和想法。 对我们有什么用? 一是如果你想删除一个索引,...

王练 ⋅ 2016/11/02 ⋅ 9

mysql的空值与NULL的区别

MySQL数据库是一个基于结构化数据的开源数据库。SQL语句是MySQL数据库中核心语言。不过在MySQL数据库中执行SQL语句,需要小心两个陷阱。   陷阱一:空值不一定为空   空值是一个比较特殊...

雍雍_yoyo ⋅ 2016/04/26 ⋅ 0

MySQL十大优化技巧

WEB开发者不光要解决程序的效率问题,对数据库的快速访问和相应也是一个大问题。希望本文能对大家掌握MySQL优化技巧有所帮助。 1.优化你的MySQL查询缓存 在MySQL服务器上进行查询,可以启用高...

五味格子 ⋅ 2011/05/11 ⋅ 0

数据库技巧——MySQL十大优化技巧

作者:杰之蓝 WEB开发者不光要解决程序的效率问题,对数据库的快速访问和相应也是一个大问题。希望本文能对大家掌握MySQL优化技巧有所帮助。 1.优化你的MySQL查询缓存 在MySQL服务器上进行查...

Yisen ⋅ 2011/03/22 ⋅ 2

数据库知识

行查询,可以启用高速查询缓存。让数据库引擎在后台悄悄的处理是提高性能的最有效方法之一。当同一个查询被执行多次时,如果结果是从缓存中提取,那是相当快的。 但主要的问题是,它是那么容...

yunyingoldboy ⋅ 2017/11/08 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spring Cloud相关项目

Spring Cloud Config 配置管理工具包,让你可以把配置放到远程服务器,集中化管理集群配置,目前支持本地存储、Git以及Subversion。 Spring Cloud Bus 事件、消息总线,用于在集群(例如,配...

明理萝 ⋅ 29分钟前 ⋅ 1

更新队友POM文件后报错

打开报错的地方的pom及其引用方法所在文件的pom,观察其版本号是否一致,不一致进行更改

森火 ⋅ 34分钟前 ⋅ 0

IDEA使用sonarLint

一、IDEA如何安装SonarLint插件 1.打开 Idea 2.点击【File】 3.点击【Settings】 4.点击【Plugins】 5.在搜索栏中输入“sonarlint”关键字 6.点击【Install】进行安装 7.重启Idea 二、IDEA如...

开源中国成都区源花 ⋅ 40分钟前 ⋅ 0

Succinct Data Structure

作者:唐刘 最近看了一篇论文 SuRF: Practical Range Query Filtering with Fast Succinct Tries,里面提到使用一种新的数据结构 Succinct Range Filter(SuRF) 替换掉了 RocksDB 默认的 Bloo...

TiDB ⋅ 40分钟前 ⋅ 0

Java进阶之内存模型介绍

Java进阶之内存模型介绍 前言 不管在什么编程语言里面,读取和写入都是我们程序最普遍的操作,在单线程的程序里面我们可能不关注线程的读写问题,但是一旦到多线程的环境下,读和写就会变得非...

九劫散仙 ⋅ 42分钟前 ⋅ 0

在windows上搭建一个ftp服务器

一、关于ftp FTP 是File Transfer Protocol的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序。基于不同的操作系统有不同的FTP应用程序...

zctzl ⋅ 46分钟前 ⋅ 0

JDK8 排序

import java.util.Collections;import java.util.List;import java.util.ArrayList;import java.util.Comparator; public class JavaTest { public static void main(String......

Jeam_ ⋅ 56分钟前 ⋅ 0

api管理平台汇总

swagger crapApi RAP xxl-api apidoc

facula ⋅ 56分钟前 ⋅ 0

Java 11 快要来了,编译 & 运行一个命令搞定!

Java 11 马上要来了,原定于 9 月发布,还有不到 3 个月了,敬请期待更多新功能被加入到 11 当中,本文本讲的是 JEP 330 这个新特性。 化繁为简,一个命令编译运行源代码 看下面的代码。 //...

Java技术栈 ⋅ 59分钟前 ⋅ 0

谷歌运营了一年多的无人出租车,得出了四条宝贵的经验

简评:并不是谷歌运营,不过国内对 Waymo 不敏感,就标题党了一下请多谅解。另外网友对于无人出租车是认可的,但是觉得如果价格没有优势,还是回去乘坐人类驾驶的汽车,毕竟这是人家的经济来...

极光推送 ⋅ 59分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部