ROW_NUMBER()
说明:返回结果集分区内行的序列号,每个分区的第一行从 1 开始。
语法:ROW_NUMBER () OVER ([ <partition by clause>]<order by clause> ) 。
备注:ORDER BY 子句可确定在特定分区中为行分配唯一 ROW_NUMBER 的顺序。
参数:<partition by clause> :将FROM 子句生成的结果集划入应用了 ROW_NUMBER 函数的分区。
<order by clause>:确定将 ROW_NUMBER 值分配给分区中的行的顺序。
返回类型:bigint 。
例:取多条反馈记录中,日期最近的一条数据
SELECT * FROM
(
SELECT
f.*,
ROW_NUMBER () OVER (PARTITION BY f.fk_receive_id ORDER BY
f.feedback_time DESC NULLS LAST
) tt
FROM
OA_DOC_RECEIVE_FEEDBACK f
)
WHERE
tt = 1;