首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

删除重复数据的有关问题

2012-01-26 
删除重复数据的问题请问表1:结构如下pkidskuidlocidcntqty1123c00122123c00133234c00244234c00245123c0011

删除重复数据的问题
请问
表1:结构如下
pkid   skuid       locid         cntqty
  1       123           c001               2
  2       123           c001               3
  3       234           c002               4
  4       234           c002               4
  5       123           c001               1

现在需要保留重复数据(skuid+locid相等即为重复)中cntqty   值较大的一个,如何操作呢?谢谢


[解决办法]
declare @ta table(pkid int, skuid int, locid varchar(4), cntqty int)
insert @ta
select 1, 123, 'c001 ', 2
union all select 2, 123, 'c001 ', 3
union all select 3, 234, 'c002 ', 4
union all select 4, 234, 'c002 ', 4
union all select 5, 123, 'c001 ', 1

delete a from @ta a where pkid not in
(select top 1 pkid from @ta where skuid=a.skuid and locid =a.locid order by cntqty desc )

select *from @ta

(所影响的行数为 5 行)


(所影响的行数为 3 行)

pkid skuid locid cntqty
----------- ----------- ----- -----------
2 123 c001 3
4 234 c002 4

(所影响的行数为 2 行)

热点排行
Bad Request.