语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN)
row number()从1开始为每条记录返回一个数字
例如
结果
ROW_NUMBER(): 这是一个窗口函数,用于分配一个唯一的序列号给每个窗口内的行。序列号从1开始。
OVER: 这个关键字用于指定ROW_NUMBER()函数的作用范围,即“窗口”。
PARTITION BY EMPEE_ID: 这个短语用于将数据集划分为多个子集,称为“分区”。在这个例子中,分区是根据列EMPEE_ID的值进行的。这意味着ROW_NUMBER()函数将在每个EMPEE_ID值不同的分区中独立地分配序列号。
ORDER BY rala_code: 这个短语用于在每个分区内部对行进行排序。在这个例子中,行将根据列rala_code的值进行排序。需要注意的是,这里的排序不会影响ROW_NUMBER()分配的序列号,它仅仅是分区内部行的顺序。
综上所述,这段代码的用途是在每个由EMPEE_ID定义的分区中,为每行分配一个唯一的序列号,而且这个序列号是按照rala_code进行排序的。如果你有一个包含多个EMPEE_ID值的表,这个查询将返回每个EMPEE_ID值对应的行的序列号,且每个EMPEE_ID内部的行是按照rala_code排序的。