费劲巴拉提出来一组数据如下图,(做了一组假数据)

需求:提出每组中的最新的一条手机号

 提出来的这一组数,Client_no 相同,但是每组数据的手机号不同。于是我想到了组内按时间排序,然后提取每组最新的数据。

百度后发现可以用partition by

组内排序并提取每组内排名为1的数据【partition by】

于是我写了这段代码

组内排序并提取每组内排名为1的数据【partition by】

 

partition by后边跟的是需要分组的字段,相当于group by后边跟的字段,order by 后边跟的是需要进行排序的字段,rw是一个别名,给这个排序起了个别名

而我这句话的意思,就是,根据a.client_no 进行分组,再根据c.created_date 进行组内倒序,

句式:row_number()  over(partition by   字段1  order by 字段2  ) rw 

 执行结果如下:

组内排序并提取每组内排名为1的数据【partition by】

然后以这个结果为表,可以随心所欲的提取想要的组内第几名的数据了,

贴代码:

组内排序并提取每组内排名为1的数据【partition by】

执行结果:贴图

组内排序并提取每组内排名为1的数据【partition by】

相关文章:

  • 2022-12-23
  • 2021-07-06
  • 2022-01-01
  • 2022-01-01
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-12-16
  • 2022-12-23
  • 2021-09-25
  • 2022-12-23
相关资源
相似解决方案