应用场景:

在使用join时,会出现一对多的情况,实际情况需要按照一定的顺序,取第一条满足条件的数据

语法说明:

row_number() over(partition by t.zt,t.xsjhgl order by t.createdate desc)

表示先以 t.zt,t.xsjhgl 进行分组,组内通过 t.createdate 进行排序

 

示例:

Partition By的用法_数据

 

 

 如上图,如果通过xsjhgl和zt来匹配,那么肯定有2行数据,但是我只想去实际最新的那条。添加圈起的代码

Partition By的用法_应用场景_02

 

 

 Partition By的用法_其他_03

 

 

在join 的时候添加px=1,就可以过滤下面那条数据。