sql - 如何按特定顺序排序

标签 sql postgresql sql-order-by

表用户:

id | firstname | lastname
---+-----------+---------
 1 | John      | Smith
 2 | Adam      | Tensta
 3 | Anna      | Johansson

我想按 ID 2、3、1 的顺序选择这些。仅由 id 字段指定。这可能吗?

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

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

最佳答案

应该按照以下顺序使用 CASE:

SELECT * 
FROM users 
ORDER BY case id when 2 then 1
                 when 3 then 2
                 when 1 then 3
         end

关于sql - 如何按特定顺序排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8713266/

相关文章:

Mysql查询并重新排序结果

MySQL:按连接表的最大日期排序

java - 将 MySQL 表中的行与 Java 进行比较的最有效方法是什么

SQL选择步骤

php - 注册无效

postgresql - ec2 服务器 postgres 错误 "version ` GLIBC_2.1 4' not found"

MySQL:根据给定列上的多个键选择多行

sql - 如何在postgres中用冒号 ":"组合两列

python - psycopg2 - 使用带有 execute_values 的 SQL 对象

mysql_fetch_row 和 ORDER BY - 我做错了什么?