select nh# as 卡号,na,(select sum(jfe) from tab1 where nh# = b.nh# )as 积分
from tab1 b where b.nh# in (select nh# from tab1 group by nh# having count(*)>1)
出来的数据
7897890286217 韩有娥 1.30
7897890286217 杨静 1.30
7897890286170 林丽蓉 13.30
7897890286170 陈明丽 13.30
想要的结果(重复的只显视其中一条)
7897890286217 韩有娥 1.30
7897890286170 林丽蓉 13.30
------解决方案--------------------
一句话就可以搞定,不要写复杂了。。
select nh#,max(na),sum(jfe) from tab1 group by nh# having count(*)>1