一尘不染

SQL Query返回值按设置的顺序

sql

我已经尝试了一段时间,以下列顺序从数据库返回具有ID(int)值的数据。

3、6、1、9、2、5。

无论如何,这可以做到吗?

编辑:好的,我在帖子中做了一些东西。上面的ID只是一个例子。

我试图动态地执行此操作,基于另一个表中有多少条记录链接到我要提取的记录,例如,我拥有3个分支,每个分支都有一组商店,我将如何确定哪个商店最多?

我希望这有帮助。


阅读 152

收藏
2021-03-08

共1个答案

一尘不染

是的,是这样的:

select ID from tablename
order by
  CASE WHEN ID = 3 THEN 1
       WHEN ID = 6 THEN 2
       WHEN ID = 1 THEN 3
       WHEN ID = 9 THEN 4
       WHEN ID = 2 THEN 5
       WHEN ID = 5 THEN 6
       ELSE 7 END, ID ASC

这将放置3,6,1,9,2,5并在其他数字之后按升序排列。

2021-03-08