sql - 有没有办法使用 LIMIT 关键字在 Postgres 中获取一系列记录

标签 sql postgresql limit

我有一个带有计数列的表,我想获取表基中计数值的批处理记录。请注意,计数字段不是唯一的 ID - 可能有许多行具有相同的计数。

我可以使用此查询来获取计数最高的 30000 条记录

select *
from artist t1
order by count desc
LIMIT 30000;

但是有没有办法获得一个范围,即记录 30001 到 60000、记录 60001 到 90000 等。

最佳答案

使用OFFSET函数。

前 30000 个:

SELECT *
FROM artist t1
ORDER BY count DESC
LIMIT 30000;

30001 至 60000

SELECT *
FROM artist t1
ORDER BY count DESC
LIMIT 30000 OFFSET 30001;

60001 至 90000

SELECT *
FROM artist t1
ORDER BY count DESC
LIMIT 30000 OFFSET 60001;

关于sql - 有没有办法使用 LIMIT 关键字在 Postgres 中获取一系列记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31132669/

相关文章:

c# - 在 SQLITE 中将数字转换为文本时附加 ".0"

mysql - 使用随机唯一数字更新 SQL 表

spring.jpa.properties.javax.persistence.query.timeout 不适用于 PostgreSQL

sql - Postgresql-Insert值出现非空冲突

entity-framework - 是否可以将 Entity Framework 包装到 odbc?

sql - 在 mysql 或 postgres 中,IN (1,2,n) 语句的大小是否有限制?

c# - 在 C# 中,如何对计数操作进行时间限制?

一个查询中有多个选择语句的 PHP/MySQL 问题

sql - 有条件地仅更新 SQL Server 中的一条记录

MySQL LIMIT 最多为某个数字 - 取决于先前的子查询