当前位置: 首页 > 面试题库 >

SQL WHERE IN(')按列表顺序排序吗?

唐烨煜
2023-03-14
问题内容

假设我使用where子句查询数据库

WHERE _id IN (5,6,424,2)

有什么办法可以按_id在列表中列出的顺序对返回的游标进行排序?_id属性在Cursor中从头到尾分别为5、6、424、2?

碰巧这是通过ContentProvider在Android上进行的,但这可能无关紧要。


问题答案:

使用子查询选择ID列表并加入它:

select t1.*
from t1
inner join
(
  select 1 as id, 1 as num
  union all select 5, 2
  union all select 3, 3
) ids on t1.id = ids.id
order by ids.num

UPD: 固定代码



 类似资料:
  • 问题内容: 我有以下查询,该查询基于逗号分隔的列表返回行 我希望此查询的结果以ID在列表中的顺序返回。SQL可以做到吗? 提前致谢 问题答案: 如果您需要输出以特定顺序显示,则需要使用服务器可以排序的内容来指定该顺序。不知道您要使用哪个引擎,一般的方案是创建一个临时表或使用行集构造函数将每个记录ID与所需的排序顺序配对。 例如(SQL Server)

  • 我按直接顺序列出了列表1<代码>列表 如何更改顺序。我不知道如何重写扩展类中的方法,请用例子写或说清楚。

  • 问题内容: 我是Java的新手,正在尝试按字母顺序排列术语的arrayList。(一个术语定义为一个字符和一个整数)(例如 我的代码如下: 为什么这不起作用?以及我该如何完成呢?我的arrayList称为术语,填充有Term类型 问题答案: 您在这行代码中遇到的问题。您的课程不是So 的类型,这两个对象将基于哪个属性或条件方法? 您必须使您的类为Comparable类型。和,根据您的需要覆盖该方法

  • 如何将按排序顺序转换为而不更改()?我们希望保留和。 将2,3,1添加到将其排序为1,2,3。从创建一个将具有2,3,1的顺序。中的和方法也将具有2,3,1的顺序。我猜这与的实现有关。

  • 问题内容: 我将要有一个固定的项目清单,直到有一个随机化步骤,我才能运行查询直到执行该查询为止。 我想要以下内容: 假设is_launch_set将返回1,3,7,11,但已被随机分配到以下位置: 关于如何实现这一目标的任何想法?我在想也许是一个find_in_set,但不是很确定。 问题答案: 您可以使用以下任一方法来做到这一点: 要么 要么

  • 问题内容: 我有一个数字列表:(这是现有记录的ID) 我有一个带有列和的mysql表,其中是整数主键。我想从该表中选择的记录,但在一个特定的顺序,例如,,,,,。 是否可以在MyISAM的查询中执行此操作,而无需任何后处理? 最简单的方法是什么? 问题答案: 由于,一个简单就足够了。 但是,如果您要这样订购:,则可以使用function : 如果查询匹配的行多于您列出的行 返回时,行不匹配任何您列