小编Cli*_* T.的帖子

PostgreSQL - 条件排序

我有下表:

key | date         | flag
--------------------------
1    now()           true
2    now() - 1 hour  true
3    now() + 1 hour  true
4    now()           false
5    now() - 1 hour  false
6    now() + 1 hour  false
Run Code Online (Sandbox Code Playgroud)

我想要以下排序:

  • 首先,所有行都有flag = false.必须使用这些行进行排序date asc.
  • 然后,所有其他行(flag = true).但是,必须使用这些行进行排序date desc.

以下查询是否正确?

(
    select *
    from test
    where flag = false
    order by date asc
)
union all
(
    select *
    from test
    where flag = true …
Run Code Online (Sandbox Code Playgroud)

sql sorting postgresql sql-order-by

2
推荐指数
1
解决办法
3310
查看次数

标签 统计

postgresql ×1

sorting ×1

sql ×1

sql-order-by ×1