SQL server使用ROW_NUMBER() OVER()做过滤

 

有个需求要求过滤掉同单号的 未检验数据, 如果已检验数据和未检验数据同时存在,则取已检验数据,如果只有未检验数据,取未检验数据

后来找的一个解决方案  使用ROW_NUMBER() OVER()做过滤   

具体如下 

 

 

( SELECT ROW_NUMBER ( ) OVER ( PARTITION BY ***_id ORDER BY check_status DESC ) num, * FROM ***_***_check_header ) fich

 

搭配 

 

AND fich.num= 1 

 

成功完成过滤

 

posted @ 2021-04-08 17:17  喜欢22度的晴天  阅读(399)  评论(0编辑  收藏  举报