select a.* from table a inner join
(
select max(cast(djh as int)) as djh,ypdm from table group by ypdm
) b on cast(a.djh as int)=cast(b.djh as int) and a.ypdm=b.ypdm
(
select max(cast(djh as int)) as djh,ypdm from table group by ypdm
) b on cast(a.djh as int)=cast(b.djh as int) and a.ypdm=b.ypdm
select * from 表 as AA where not exists(select 1 from 表 as BB where aa.ypdm=bb.ypdm and cast(aa.djh as int) <cast(bb.djh as int))
select a.djh,a.ypdm,mc from 表 a right join (select max(djh) as djh,ypdm from 表 group by ypdm) b on a.djh=b.djh and a.ypdm=b.ypdm