美文网首页java
sqlite 按照IN中的顺序排列

sqlite 按照IN中的顺序排列

作者: dogLin | 来源:发表于2018-03-30 16:06 被阅读352次

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一下?

MySQL解决办法

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); 

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

SQLite解决办法

select * from table where id IN (4,3,1,5,6)
ORDER BY 
  CASE ID
    WHEN 4 THEN 0
    WHEN 3 THEN 1
    WHEN 1 THEN 2
    WHEN 5 THEN 3
    WHEN 6 THEN 4
  END

不过尾神说sqlite 这样做的效率太低了 可以做个索引表

相关文章

  • sqlite 按照IN中的顺序排列

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

  • SQLite Order By

    SQLite Order By SQLite 的 ORDER BY 子句是用来基于一个或多个列按升序或降序顺序排列...

  • 剑指offer习题练习

    1 二维数组的查找: 在一个二维数组中 ,每一行都按照从左到右递增的顺序排列,每一列都按照从上到下递增的顺序排列....

  • 「SQLite学习笔记」Order By

    SQLite 的 ORDER BY 子句是用来基于一个或多个列按升序或降序顺序排列数据。 语法 ORDER BY ...

  • iOS SQLite迭代

    *** 前提:sqlite较复杂的情况是沙盒中已经存在了sqlite文件,再进行sqlite升级,下文按照此种情况...

  • 3、LinkedHashMap

    LinkedHashMap 会按照key的插入顺序排列。 LinkedHashMap继承了HashMap。所以和H...

  • Objective C - ViewController的生命周

    按照执行顺序排列 - initWithCoder:通过nib文件初始化时触发 - awakeFromNib:nib...

  • UIViewController的生命周期

    按照执行顺序排列: initWithCoder: 通过nib文件初始化时触发; awakeFromNib: ni...

  • iOS UIViewController的生命周期

    按照执行顺序排列: initWithCoder:通过nib文件初始化时触发。 awakeFromNib:nib文件...

  • python学习_day8

    高级数据类型 序列:在python中,序列就是一组按照顺序排列的值【数据集合】 在python中存在三种内置的序列...

网友评论

    本文标题:sqlite 按照IN中的顺序排列

    本文链接:https://www.haomeiwen.com/subject/ghuicftx.html