【postgresql】在postgresql中使用limit实现select top x

附一篇oracle实现 top x

在psql中使用 \h select 命令,可以得到以下帮助

jincheng=# \h select
命令:       SELECT
描述:       从资料表或视观表读取资料
语法:
[ WITH [ RECURSIVE ] with查询语句(with_query) [,...] ]
SELECT [ ALL | disTINCT [ ON ( 表达式 [,...] ) ] ]
    * | 表达式 [ [ AS ] 输出名称 ] [,...]
    [ FROM from列表中项 [,...] ]
    [ WHERE 条件 ]
    [ GROUP BY 表达式 [,...] ]
    [ HAVING 条件 [,...] ]
    [ WINDOW 窗口名称 AS ( 窗口定义 ) [,...] ]
    [ { UNION | INTERSECT | EXCEPT } [ ALL | disTINCT ] 查询 ]
    [ ORDER BY 表达式 [ ASC | DESC | USING 运算子 ] [ NULLS { FirsT | LAST } ] [,...] ]
    [ LIMIT { 查询所用返回记录的最大数量 | ALL } ]
    [ OFFSET 起始值 [ ROW | ROWS ] ]
    [ FETCH { FirsT | NEXT } [ 查询所用返回记录的最大数量 ] { ROW | ROWS } ONLY
]
    [ FOR { UPDATE | SHARE } [ OF 表名 [,...] ] [ NowAIT ] [...] ]

from 列表中的项可以是下列内容之一

    [ ONLY ] 表名 [ * ] [ [ AS ] 化名 [ ( 列的化名 [,...] ) ] ]
    ( 查询 ) [ AS ] 化名 [ ( 列的化名 [,...] ) ]
-- More  --
根据帮助有写法
SELECT * FROM TABLENAME LIMIT 5 OFFSET 1;
此语句的意思是忽略tablename 中的第一条数据,从第二条开始取最多5条数据(包括第二条数据)。

这条语句等价于MysqL中的

SELECT * FROM TABLENAME LIMIT 1,5;
一般来说limit,offset应该配合order by使用╮(╯_╰)╭

相关文章

项目需要,有个数据需要导入,拿到手一开始以为是mysql,结果...
本文小编为大家详细介绍“怎么查看PostgreSQL数据库中所有表...
错误现象问题原因这是在远程连接时pg_hba.conf文件没有配置正...
因本地资源有限,在公共测试环境搭建了PGsql环境,从数据库本...
wamp 环境 这个提示就是说你的版本低于10了。 先打印ph...
psycopg2.OperationalError: SSL SYSCALL error: EOF detect...