如何按特定订单排序

Lil*_*man 13 sql postgresql sql-order-by

表用户:

id | firstname | lastname
---+-----------+---------
 1 | John      | Smith
 2 | Adam      | Tensta
 3 | Anna      | Johansson
Run Code Online (Sandbox Code Playgroud)

我想按照ID 2,3,1的顺序选择它们.仅由id-field指定.这可能吗?

我在想类似的东西 SELECT * FROM users ORDER BY id ORDER(2,3,1)

可以这样做,在那种情况下如何?

小智 20

应该按顺序使用CASE:

SELECT * 
FROM users 
ORDER BY case id when 2 then 1
                 when 3 then 2
                 when 1 then 3
         end
Run Code Online (Sandbox Code Playgroud)

  • @Jules:应该在任何数据库中工作.这是符合ANSI标准的SQL (4认同)