删除重复记录

    技术2022-05-19  20

    select commend_date, commender_id, stock_code,stock_name,issue_channelfrom commendstock awhere (a.commend_date, a.commender_id, a.stock_code)in (select commend_date, commender_id, stock_codefrom commendstock group by commend_date, commender_id, stock_code having count(*)>1) --and rowid not in(select min(rowid) from commendstock  -- group by commend_date, commender_id, stock_code --having count(*)>1)order by commend_date,commender_id,stock_code

    ;

     

    现在要删除表中重复的记录。条件是:3个字段重复,同时比较第4个字段的值,保留值比较小的那一条例如:字段1 字段2 字段3 字段4数值1 数值2 数值3 1数值1 数值2 数值3 4因为前3个字段都重复,第一条记录的字段4值为1,比第二条记录的字段4的值小,所以删除第二条,保留第一条。

    select * from commendstock t where exists(select 1 from commendstock t2              where t.commend_date=t2.commend_date                and t.commender_id=t2.commender_id               and t.stock_code=t2.stock_code               and t.commend_type>t2.commend_type)


    最新回复(0)