SQL SERVER 去掉重复记录
来源:互联网 发布:spring源码怎么看 编辑:程序博客网 时间:2024/05/01 18:20
今天应一个网友的要求说帮他写一个SQL 语句
条件是:如果出现DataID,TableName出现多次只取第一条记录
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Votes]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Votes]
GO
CREATE TABLE [dbo].[Votes] (
[ID] [bigint] IDENTITY (1, 1) NOT NULL ,
[CompanyID] [bigint] NOT NULL ,
[TableName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[DataID] [bigint] NULL ,
[VoteUser] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[VoteTime] [datetime] NULL ,
[VoteIP] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[VoteType] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[VoteInfo] [varchar] (1000) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO
我的写法:
select a.* from Votes a inner join (select min(ID) as ID from Votes group by DataID,TableName having (count(*)>1)) b on a.ID =b.ID
union all
select a.* from Votes a inner join (select min(ID) as ID from Votes group by DataID,TableName having (count(*)=1)) b on a.ID =b.ID
优化一下:
select a.* from Votes a inner join (select min(ID) as ID from Votes group by DataID,TableName ) b on a.ID =b.ID
- SQL SERVER 去掉重复记录
- sql server 查询去掉重复记录
- sql server 查询去掉重复记录
- sql 去掉重复记录
- sql去掉重复记录
- SQL SERVER 去掉重复
- sql server 重复记录
- sql怎么去掉重复记录,怎么去掉重复字段
- SQL语句去掉重复记录,获取重复记录
- SQL语句去掉重复记录,获取重复记录
- SQL语句去掉重复的记录
- SQL Server 查找重复记录
- sql server 重复记录相关 SQL
- 去掉重复记录问题
- DISTINCT 去掉重复记录
- MySQL去掉重复记录
- 删除sql server中的重复记录
- SQL Server中处理重复记录
- Xsl截取字符串
- 处理【GDI+ 中发生一般性错误】
- DIV 显示的是中间出现空格解决办法
- JavaScript eval() 函数
- Android内核介绍
- SQL SERVER 去掉重复记录
- 给Adobe Reader添加书签功能
- PHP遍历关联数组的方法介绍
- 关于client profile
- Linux_Shell知多少—常用正则表达式
- SQL2005删除复制数据库的发布与订阅的方法
- .overlay
- 去除 struts2 标签中的自动生成的布局样式
- C/C++ 常量--林锐