Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PostgreSQL-如何返回最后的X值?_Sql_Postgresql - Fatal编程技术网

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

PostgreSQL-如何返回最后的X值?,sql,postgresql,Sql,Postgresql,假设数据库中有以下值: 时间列 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 但我需要得到这些: 2013-03-02 20:00:00 2013-03-02 21:00:00 2013-

假设数据库中有以下值:

时间列

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
但我需要得到这些:

2013-03-02 20:00:00
2013-03-02 21:00:00
2013-03-02 22:00:00
但如何做到这一点呢

多谢各位

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

SELECT*from table WHERE time\u column=SELECT * FROM table WHERE time_column =< '2013-03-02 22:00:00'
ORDER BY time_column DESC
LIMIT 3
按时间排序\u列说明 限制3
从时间列=<'2013-03-02 22:00:00'所在的表格中选择*
按时间排序\u列说明
限制3

这与未包含比较值无关-这只是样本数据的一个伪影。与未包含比较值无关-这只是样本数据的一个伪影。哦,我需要休假!我的问题看起来像是我第一次来到电脑前。。。不过,谢谢马林。哦,我需要一个假期!我的问题看起来像是我第一次来到电脑前。。。不过,谢谢马林。
SELECT * FROM table WHERE time_column =< '2013-03-02 22:00:00'
ORDER BY time_column DESC
LIMIT 3