PostgreSQL - 如何返回最后的X值?

时间:2013-03-02 19:00:36

标签: sql postgresql

我们假设在数据库中是这些值:

time_column

2013-03-02 19:00:00
2013-03-02 20:00:00
2013-03-02 21:00:00
2013-03-02 22:00:00

我需要获取最后3条记录,其中包含查询中行的值。

SELECT * FROM table WHERE time_column =< '2013-03-02 22:00:00' LIMIT 3

此查询返回这些行(无22:00:00):

2013-03-02 19:00:00
2013-03-02 20:00:00
2013-03-02 21:00:00

但我需要得到这些:

2013-03-02 20:00:00
2013-03-02 21:00:00
2013-03-02 22:00:00

但是怎么做?

谢谢

编辑:有一种方法可以在应用层获取所需的行,但是如果可以从sql获取,那就太棒了。

1 个答案:

答案 0 :(得分:3)

SELECT * FROM table WHERE time_column =< '2013-03-02 22:00:00'
ORDER BY time_column DESC
LIMIT 3