TOP-N查询
-- TOP-N
select first_name,last_name,salary
from employees
order by salary
-- 获取前10行
fetch first 10 rows only;
-- 第二种方式获取前10行数据
select first_name,last_name,salary
from employees
order by salary
limit 10;
--
select first_name,last_name,salary
from employees
order by salary
-- 获取前10行(值相同的数据也返回,所以返回的数据可能超过10条)
fetch first 10 rows with ties;
分页查询
SELECT first_name, last_name, salary
FROM employees
ORDER BY salary DESC
OFFSET 10 ROWS
-- OFFSET 表示先忽略掉多少行数据
FETCH FIRST 10 ROWS ONLY;
-- 使用 LIMIT 加上 OFFSET 同样可以实现分页效果:
SELECT first_name, last_name, salary
FROM employees
ORDER BY salary DESC
LIMIT 10 OFFSET 20;

总结

本文介绍了如何在PostgreSQL中使用TOP-N查询和分页查询来获取前N个最高薪水的员工数据,包括`fetchfirst`和`limit`/`OFFSET`方法,并指出它们可能返回的结果数量。
1775

被折叠的 条评论
为什么被折叠?



