Oracle-按keys值分组后标序号

以下代码会把数据分组后进行排序,然后再根据序号,可以取到对应的数据:

1
2
3
4
5
6
7
8
9
10
SELECT ROW_NUMBER() OVER(PARTITION BY Q.EMPLID, Q.EMPL_RCD, Q.GP_PAYGROUP, Q.CAL_ID ORDER BY Q.EMPLID DESC) AS SEQ,
Q.SETID,
Q.EMPLID,
Q.DEPTID,
Q.POSITION_NBR,
Q.EMPL_RCD,
Q.GP_PAYGROUP,
Q.CAL_ID
FROM PS_C_PI_QRY_VW Q

使用场景:进行单表拼串时,取每个分组的一条数据时,利用上述SQL,然后进行数据拼接;