SQL: select * from table where id IN (3,6,9,1,2,5,8,7);

这样的情况取出来后,其实,id还是按1,2,3,4,5,6,7,8,9,排序的,但如果我们真要按IN里面的顺序排序怎么办?SQL能不能完成?是否需要取回来后再foreach一下?

其实可以这样

sql: select * from table where id IN (3,6,9,1,2,5,8,7) order by field(id,3,6,9,1,2,5,8,7);

出来的顺序就是指定的顺序了

关于这种排序的效率,

有文章指出:

FIELD(str,str1,str2,str3,…)

Returns the index (position) of str in the str1, str2, str3, … list. Returns 0 if str is not found.

排序过程:把选出的记录的 id 在 FIELD 列表中进行查找,并返回位置,以位置作为排序依据。

这样的用法,会导致 Using filesort,是效率很低的排序方式。除非数据变化频率很低,或者有长时间的缓存,否则不建议用这样的方式排序。

作者建议在程序代码中自行排序。

但是也有人说这种排序不会出现什么性能瓶颈

具体还是自己测试一下吧。

mysql in 按顺序排序_mysql in 排序 也可以按in里面的顺序来排序相关推荐

  1. mysql a-z排序_mysql实现首字母从A-Z排序

    1.常规排序ASC DESC ASC 正序 DESC倒叙 - 此处不用多讲 2.自定义排序 自定义排序是根据自己想要的特定字符串(数字)顺序进行排序.主要是使用函数 FIELD(str,str1,st ...

  2. mysql中两次排序_MySQL中的两种排序方式: index和filesort

    index :通过有序索引顺序扫描直接返回有序数据,不需要额外的排序,操作效率较高. filesort:通过对返回数据进行排序,filesort 并不代表通过磁盘文件排序,而是说明进行了一个排序操作, ...

  3. Mysql 行前自动排序_mysql 取得行号后再排序

    一.理论准备 Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等. TreeMap:基于红黑树(Red-Black tre ...

  4. order是mysql系统关键字_MySQL数据库如何使用“ORDER BY”关键字对查询结果进行排序呢?...

    摘要: 下文讲述MySQL数据库中ORDER BY 关键字的用法简介说明,如下所示: ORDER BY 关键字的功能及语法说明 ORDER BY 功能: 对select 查询出的结果采用指定字段 指定 ...

  5. mysql按经纬度排序_mysql根据经纬度查找排序

    目的是,根据经纬度,实现查其找附近的人或地点,LBS场景. 做基于地理位置的应用后台,没有使用mongodb,看了网上的很多答案,其实也就是几份答案而已,天下文章一大抄. 这里综合网上的,结合自身,总 ...

  6. mysql 拼音排序_MySQL按常规排序、自定义排序和按中文拼音字母排序的方法

    MySQL常规排序.自定义排序和按中文拼音字母排序,在实际的SQL编写时,我们有时候需要对条件集合进行排序. 下面给出3种比较常用的排序方式,mark一下 1.常规排序ASC DESC ASC 正序 ...

  7. mysql 首字母排序_Mysql sql书写之——实现首字母从A-Z排序

    1.常规排序ASC DESC ASC 正序 DESC倒叙 -- 此处不用多讲 2.自定义排序 自定义排序是根据自己想要的特定字符串(数字)顺序进行排序.主要是使用函数 FIELD(str,str1,s ...

  8. mysql 数字大小排序_mysql可以按照数字大小排序吗?

    mysql可以按照数字大小排序.MySQL提供了"ORDER BY"关键字来对查询结果中的数据按照一定的顺序进行排序:语法格式"SELECT 字段名列表 FROM 数据表 ...

  9. mysql首字母排序_mysql实现首字母从A-Z排序

    1.常规排序ASC DESC ASC 正序 DESC倒叙 -- 此处不用多讲 2.自定义排序 自定义排序是根据自己想要的特定字符串(数字)顺序进行排序.主要是使用函数 FIELD(str,str1,s ...

  10. mysql自动排序_MySQL中的排序

    文章正文: 在编写SQL 语句时常常会用到 order by 进行排序,那么排序过程是什么样的?为什么有些排序执行比较快,有些排序执行很慢?又该如何去优化? 索引排序 索引排序指的是在通过索引查询时就 ...

最新文章

  1. C/C++中存储类型
  2. 高考查分数微信就能搞定
  3. r语言和metawin_Windows下使用Rtools编译R语言包
  4. ASP.NET GridView嵌套DataList实例
  5. 【学术相关】现阶段硕士的困境:读博没信心,不读还闹心
  6. 电子工程师:不停改方案,神仙都要跑路!
  7. 双千兆和双频千兆哪个好_关于千兆路由器的那些事儿!赶紧收藏
  8. AFNetworking请求提示Invalid parameter not satisfying: URLString
  9. 读懂LinkedList这一篇就够了
  10. LeetCode 504. Base 7 (C++)
  11. 计算机组成与网络题库,计算机组成原理题库
  12. jupyter kernel添加使用和配置
  13. Linux上mysql安装详细教程
  14. 轻量级过程改进之项目启动
  15. 如何零基础入门产品经理
  16. Ps调色磨皮降噪抠图胶片特效模拟常用100款滤镜合集一键安装支持PSCC2015-2019win64
  17. C++基础中的基础——平行四边形
  18. 抖音创作规范_抖音创作内容调整提示怎么办
  19. 7-15 福到了 c语言,7-54 福到了 (15 分)
  20. 《周易》六十四卦歌诀

热门文章

  1. Flink 1.12 CDH 6.3 集成
  2. Mysql 集群双主双从安装使用详细讲解
  3. 技术干货 | 深度解构 Android 应用面临紧急发版时的救星方案:mPaaS 热修复——DexPatch
  4. 蚂蚁金服终端实验室演进之路
  5. 如何合理的规划jvm性能调优
  6. 阿里下一代云分析型数据库AnalyticDB入选Forrester云化数仓象限
  7. 阿里云 ESS 弹性伸缩服务新功能来袭,更全面、更自动化的使用体验
  8. 力荐联邦学习系统,据说英伟达Clara“上架”新进展!
  9. 一篇文章带你快速理解微服务架构,由浅入深带你走进微服务架构的核心
  10. Facebook隐私泄露事件继续发酵,黑客明码标价出售聊天信息