SQL Server数据库操作中,有时对于表中的结果集,满足一定规则我们则认为是重复数据,而这些重复数据需要删除。如何删除呢?本文我们通过一个例子来加以说明。

例子如下:

如下只要companyName,invoiceNumber,customerNumber三者都相同,我们则认为是重复数据,下面的例子演示了如何删除。

declare @InvoiceListMaster table ( ID int identity primary key ,   companyName Nchar(20),   invoiceNumber int,   CustomerNumber int,   rmaNumber int )   insert  @InvoiceListMaster   select N'华为', 1001,100,200   union all   select N'华为', 1001,100,300   union all   select N'华为', 1001,100,301   union all   select N'中兴', 1002, 200,1      union all   select N'中兴', 1002, 200,2   select * from @InvoiceListMaster   DELETE A   from (   select rown = ROW_NUMBER( )over( partition by companyname,   invoicenumber,   customerNumber    order by companyname,   invoicenumber,   customerNumber ),   companyname,   invoicenumber,   customerNumber   from @InvoiceListMaster )a   where exists ( select 1    from ( select rown = ROW_NUMBER( )over( partition by companyname,   invoicenumber,   customerNumber    order by companyname,   invoicenumber,   customerNumber ),   companyname,   invoicenumber,   customerNumber   from @InvoiceListMaster ) b   where b.companyName = a.companyName   and b.invoiceNumber = a.invoiceNumber   and b.CustomerNumber = a.CustomerNumber   and a.rown > b.rown   )   select * from @InvoiceListMaster 

更多相关文章

  1. 《Android和PHP最佳实践》官方站
  2. mybatisplus的坑 insert标签insert into select无参数问题的解决
  3. python起点网月票榜字体反爬案例
  4. 《Android开发从零开始》——25.数据存储(4)
  5. Android系统配置数据库注释(settings.db)
  6. android用户界面之按钮(Button)教程实例汇
  7. Android中不同应用间实现SharedPreferences数据共享
  8. TabHost与RadioGroup结合完成的菜单【带效果图】5个Activity
  9. android图表ichartjs

随机推荐

  1. MyBatis批量插入/更新Oracle。
  2. JavaMail学习五 创建邮件内容
  3. 循环-26. 求给定序列前N项和之四(15)
  4. AAC终结者Opus音频编码器的瑞士军刀,编译a
  5. 我心依旧之Android Camera模块FW/HAL3探
  6. mac react-native从零开始android真机测
  7. Android使用Eclipse搭建NDK开发环境
  8. android-支持多种屏幕[屏幕支持概览] 五
  9. Android对返回键进行处理的方式
  10. 在Android的评论屏幕上实施网络呼叫的最