update abc
set cldw = 'XXXXXX'
where (a,hjdm,lcbh) = ( select distinct a, hjdm, first_value(lcbh) over(order by lcbh desc) from abc
where a ='320000664223099' and hjdm='ZZ15' )
set cldw = 'XXXXXX'
where (a,hjdm,lcbh) = ( select distinct a, hjdm, first_value(lcbh) over(order by lcbh desc) from abc
where a ='320000664223099' and hjdm='ZZ15' )
update abc
set cldw = 'XXX'
where (cldw,a,hjdm,lcbh) = ( select distinct first_value(cldw) over(order by lcbh desc),
a, hjdm,
first_value(lcbh) over(order by lcbh desc)
from abc
where a ='320000664223099' and hjdm='ZZ15' )
这样写可以避免条件过滤后,lcbh列最大值与cldw一对多的情况。