SELECT A.*,(CASE WHEN A.列1=B.MAX列1 THEN '是' ELSE '否' END) 是否 from 表 A
left join
(select MAX(列1) MAX列1,列2 from 表 GROUP BY 列2) B
ON A.列2=B.列2
先按分组最大值用sql求出来。
然后自连接,把最大值join出来,用case when 加个判断,最大值有值的时候赋值是,无值赋值无。
select a,b,case when a=max(a)over (partition by b) then '是' else '否' end as c from temp order by b,a