select max(xmbh) , xmmc ,   xmnr
from t_sjzd
group by xmmc,xmnr   Is it OK ?

解决方案 »

  1.   

    delete t_sjzd where rowid<>(select min(rowid) from t_sjzd a where a.xmmc=t_sjzd.xmmc and a.xmnr=t_sjzd.xmnr);
      

  2.   

    bobfang(匆匆过客) 写的语句是正确的,但效率不是很高,
    大概要执行10多秒(表里有4000多条记录)
    有没有更好的呢?
      

  3.   

    create table test(xmbh,xmmc,xmnr)
    as 
    select max(xmbh),xmmc,xmnr
      from t_sjzd
      group by xmmc,xmnrtruncate table t_sjzd;
    insert into t_sjzd select * from test;
    commit;
      

  4.   

    忘了说了,这个表它是可能变化的,xmbh是关键字,自动增长,比如说:什么时候多了一个专业技术职务,我就得把它
    添加到表中,所以,max(xmbh)没有什么用的。
      

  5.   

    这样不知效率怎样,你试试吧:
    select max(xmbh),xmmc,xmnr from t_sjzd 
    group by xmmc,xmnr having count(*)>2
      

  6.   

    上面的有些问题:
    select max(xmbh),xmmc,xmnr from t_sjzd 
    group by xmmc,xmnr having count(*)>1
    大于1就行了