Select 很快就会排名第一 SQL?
Select Top # in Presto SQL?
Presto SQL 真的缺少 SELECT 语句中的 TOP X 功能吗?
如果是这样,在此期间是否有解决方法?
如果你只是想限制结果集中的行数,你可以使用LIMIT
,有或没有ORDER BY
:
SELECT department, salary
FROM employees
ORDER BY salary DESC
LIMIT 10
如果您想要每组的最高值,您可以使用标准 SQL row_number()
window 函数。例如获取每个部门薪资排名前3的员工:
SELECT department, salary
FROM (
SELECT department, salary row_number() OVER (
PARTITION BY department
ORDER BY salary DESC) AS rn
FROM employees
)
WHERE rn <= 3
Presto SQL 真的缺少 SELECT 语句中的 TOP X 功能吗?
如果是这样,在此期间是否有解决方法?
如果你只是想限制结果集中的行数,你可以使用LIMIT
,有或没有ORDER BY
:
SELECT department, salary
FROM employees
ORDER BY salary DESC
LIMIT 10
如果您想要每组的最高值,您可以使用标准 SQL row_number()
window 函数。例如获取每个部门薪资排名前3的员工:
SELECT department, salary
FROM (
SELECT department, salary row_number() OVER (
PARTITION BY department
ORDER BY salary DESC) AS rn
FROM employees
)
WHERE rn <= 3