PostgreSQL中的SQL Server的TOP或DB2的FETCH FIRST或mySQL的LIMIT的等价物是什么?
TOP
FETCH FIRST
LIMIT
mklgxw1f1#
你可以像在MySQL中一样使用LIMIT,例如:
SELECT * FROM users LIMIT 5;
pkwftd7m2#
您始终可以将OFFSET子句与LIMIT子句沿着添加。您可能需要从特定的偏移量中提取一组记录。下面是一个从第三个位置开始提取3条记录的示例:
OFFSET
testdb=# SELECT * FROM COMPANY LIMIT 3 OFFSET 2;
这将产生以下结果:
id | name | age | address | salary ----+-------+-----+-----------+-------- 3 | Teddy | 23 | Norway | 20000 4 | Mark | 25 | Rich-Mond | 65000 5 | David | 27 | Texas | 85000
完整的解释和更多的例子检查HERE
y4ekin9u3#
在PostgreSQL上,有两种方法可以实现这个目标。
第一个选项是使用SQL:2008标准方式,使用FETCH FIRST N ROWS ONLY语法限制结果集:
FETCH FIRST N ROWS ONLY
SELECT title FROM post ORDER BY id DESC FETCH FIRST 50 ROWS ONLY
自PostgreSQL 8.4起支持SQL:2008标准语法。
对于PostgreSQL 8.3或更早版本,您需要LIMIT子句来限制结果集大小:
SELECT title FROM post ORDER BY id DESC LIMIT 50
cmssoen24#
使用LIMIT子句或FETCH FIRST 10 ROWS
FETCH FIRST 10 ROWS
68de4m5k5#
除了限制,你也可以使用先取。你的问题已经有答案了
Select * from users FETCH FIRST 5 ROWS ONLY
dfuffjeb6#
例如,如果你想从一个按排名列排序的表中选择10个跳过前3名的学生(因此获取排名4到13的学生),你可以用途:SELECT * FROM STUDENTS ORDER BY rank asc LIMIT 10 OFFSET 3;如果你只想要前10名,你可以省略OFFSET:SELECT * FROM STUDENTS ORDER BY rank asc LIMIT 10;
SELECT * FROM STUDENTS ORDER BY rank asc LIMIT 10 OFFSET 3;
SELECT * FROM STUDENTS ORDER BY rank asc LIMIT 10;
6条答案
按热度按时间mklgxw1f1#
你可以像在MySQL中一样使用LIMIT,例如:
pkwftd7m2#
您始终可以将
OFFSET
子句与LIMIT
子句沿着添加。您可能需要从特定的偏移量中提取一组记录。下面是一个从第三个位置开始提取3条记录的示例:
这将产生以下结果:
完整的解释和更多的例子检查HERE
y4ekin9u3#
在PostgreSQL上,有两种方法可以实现这个目标。
SQL标准
第一个选项是使用SQL:2008标准方式,使用
FETCH FIRST N ROWS ONLY
语法限制结果集:自PostgreSQL 8.4起支持SQL:2008标准语法。
PostgreSQL 8.3及以上版本
对于PostgreSQL 8.3或更早版本,您需要LIMIT子句来限制结果集大小:
cmssoen24#
使用
LIMIT
子句或FETCH FIRST 10 ROWS
68de4m5k5#
除了限制,你也可以使用先取。你的问题已经有答案了
dfuffjeb6#
例如,如果你想从一个按排名列排序的表中选择10个跳过前3名的学生(因此获取排名4到13的学生),你可以用途:
SELECT * FROM STUDENTS ORDER BY rank asc LIMIT 10 OFFSET 3;
如果你只想要前10名,你可以省略OFFSET:
SELECT * FROM STUDENTS ORDER BY rank asc LIMIT 10;