POSTGRESQL 比如test表中有个字段status 以 123546自定义排序status字段
时间: 2023-08-08 10:13:23 浏览: 109
可以使用 PostgreSQL 的 CASE 表达式来实现自定义排序。
假设我们有一个 test 表,其中有一个 status 字段需要按照 1、2、3、5、4、6 的顺序排序,可以使用如下 SQL 语句:
```
SELECT *
FROM test
ORDER BY CASE status
WHEN 1 THEN 1
WHEN 2 THEN 2
WHEN 3 THEN 3
WHEN 5 THEN 4
WHEN 4 THEN 5
WHEN 6 THEN 6
ELSE 7
END;
```
在这个语句中,通过 CASE 表达式将 status 字段的值映射到对应的排序值,然后按照排序值进行排序。如果 status 字段的值不在 1、2、3、5、4、6 中,则按照默认值 7 进行排序。
阅读全文