表 table
ID orderNo status
1 123 20
2 123 21
3 456 20
4 456 21
5 789 21
目标:orderNo相同的情况下只展示status = 20 的数据
ID orderNo status
1 123 20
3 456 20
5 789 21
select
t1,
t.*
from
(
select
row_number() over(partition by t2.重复数据字段 order by t2.其他字段 asc/desc) t1,
t2.*
from table t2
) t
where t1 = 1
其中 t1= 1 表示筛选数据中的大部分数据,t1 = 1与t2.其他字段的排序密切相关,请认真筛选后确定