sql分组排序row_number() over()
sql分组排序函数
row_number() over(partition by 分组列 order by 排序列 desc)
select tmp.pk_order
from(select pk_order,
row_number() over(partition by vbillcode order by nversion desc) as rn
from po_order
where dr = 0
and vbillcode =‘ vbillcode‘) tmp
where tmp.rn = 1
按单据号分组,按版本号降序排列,新增做rn列,外套一层rn才可以放到where条件里面,
相同单据号取版本号最大的对应的单据号行,再获取此行主键
vbillcode 单据号 nversion 版本号 pk_主键
在使用 row_number() over()函数时候,over()里头的分组以及排序的执行晚于 where 、group by、 order by 的执行。
sql分组排序row_number() over()
原文地址:https://www.cnblogs.com/tenghao/p/14311816.html
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341