分组取出每组数据的前N条

更新时间:2024-12-30 02:22

本文将为您介绍如何对数据进行分组,取出每组数据的前N条数据。

示例数据

empno

ename

job

sal

empno

ename

job

sal

7369

SMITH

CLERK

800.0

7876

SMITH

CLERK

1100.0

7900

JAMES

CLERK

950.0

7934

MILLER

CLERK

1300.0

7499

ALLEN

SALESMAN

1600.0

7654

MARTIN

SALESMAN

1250.0

7844

TURNER

SALESMAN

1500.0

7521

WARD

SALESMAN

1250.0

实现方法

取出每条数据的行号,再用WHERE语句进行过滤。

SELECT * FROM (
  SELECT empno
  , ename
  , sal
  , job
  , ROW_NUMBER() OVER (PARTITION BY job ORDER BY sal) AS rn
  FROM emp
) tmp
WHERE rn < 10;
  • 本页导读 (1)
  • 示例数据
  • 实现方法
文档反馈