删除有两个字段相同的多条重复记录,只保存一条
?要求 :把T_FORM_RECEIPT表中[FORM_NAME_],[OPT_USER_]字段相同的重复记录,重复记录只留 [CREATE_DATE_] 最 ???????????? 大的那条记录 表 : CREATE TABLE [dbo].[T_FORM_RECEIPT]( 解决办法: alert table T_FORM_RECEIPT add flag int? //添加标示列,为1的为有用的 update T_FORM_RECEIPT set flag=1?? from (select max(create_Date_) as Date_,form_name_ as name_,opt_User_ as user_? from T_FORM_RECEIPT? group by form_name_,opt_User_?? having count(*) >1) as c? where create_Date_=c.Date_ and form_name_=c.name_? and? opt_User_=c.user_?? //多条重复中 保留[CREATE_DATE_] 最 大的那条记录
delete from T_FORM_RECEIPT where flag is null? //删除那些flag不等于1的(在sqlserver 中null 不能由!=1识别出来,所以这么写) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 存储过程在SQLServer2008 R2中的实现
- 获取两个日期SQL之间的工作日数(星期日,星期一,星期二)
- sql-server – COALESCE与ISNULL的性能差异?
- 用户界面 – 如何在PL / SQL Developer中获取行号?
- SqlServer: 清空缓存
- 如何在SQL Server中多次检索行?
- sqlserver——你真的懂你写的Sql语句么?
- Qt5.6.0(32位)编译SQLServer驱动(ODBC)(vs2013)
- Sqlserver 系统表sysobjects、syscolumns、systypes函数obj
- sqlserver Union和SQL Union All使用方法