基于多个字段的Postgres查询顺序

问题描述 投票:0回答:1

我有一个表有两列,start_at和expired_at。

我需要一个sql查询来获取在started_at上首先排序的数据,然后是所有过期的条目。

注意事项我有expired_at日期字段。根据当前日期,条目将过期,如果日期> expired_at,则条目已过期

id  started_at  expired_at
1    11-03-19    12-03-19  
2    14-03-19    15-03-19  
3    15-03-19    02-05-19  
sql postgresql
1个回答
0
投票

此SELECT首先提供所有未过期的记录,然后是过期的记录:

SELECT * FROM Table1
ORDER BY CASE WHEN expired_at > NOW() THEN 0 ELSE 1 END, started_at
© www.soinside.com 2019 - 2024. All rights reserved.