有个需求要求过滤掉同单号的 未检验数据, 如果已检验数据和未检验数据同时存在,则取已检验数据,如果只有未检验数据,取未检验数据
后来找的一个解决方案 使用ROW_NUMBER() OVER()做过滤
具体如下
( SELECT ROW_NUMBER ( ) OVER ( PARTITION BY ***_id ORDER BY check_status DESC ) num, * FROM ***_***_check_header ) fich
搭配
AND fich.num= 1
成功完成过滤