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 

成功完成过滤

原文地址:https://www.cnblogs.com/Mr-Y1907/p/14633405.html