删除重复记录

select
commend_date, commender_id, stock_code,stock_name,issue_channel
from commendstock a
where (a.commend_date, a.commender_id, a.stock_code)
in (select commend_date, commender_id, stock_code
from 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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值