我正在尝试使用LIMIT和OFFSET函数或OFFSET... ROWS FETCH FIRST... ROW only。PostgreSQL在结果中给了我错误的行数。
select user_id, max(order_ts) as lastorder
from production.orders
group by user_id
order by lastorder desc, user_id desc
OFFSET 10 ROWS
FETCH FIRST 20 ROW only
或
select user_id, max(order_ts) as lastorder
from production.orders
group by user_id
order by lastorder desc, user_id desc
OFFSET 10
limit 20
仍然为我提供了20行(应该是10:从第10行到第20行-是10)。
怎么样?能帮忙吗?
1条答案
按热度按时间8cdiaqws1#
LIMIT 20
告诉服务器返回的记录不要超过20条。FETCH FIRST 20 ONLY
完全相同。查询可能返回20行或更少,具体取决于数据和查询条件。如果尝试获取第11行到第20行,则需要指定LIMIT 10 OFFSET 10
。详情见文件中的段落 * 限制条款 *:https://www.postgresql.org/docs/15/sql-select.html#SQL-LIMIT