SQL SERVER常用取重复记录的SQL语句

  1. 获取某字段或几个字段有重复的数据,可限定重复几条
    select field1,field2 from table group by field1,field2 having count(field1)>1
  2. 获取某字段不重复的最新记录
    select top * from table a where id in(select max(id) from table b group by field) order by id desc
  3. 获取某字段的重复数
    select count(field) from table group by field having count(field)>1
  4. 获取不重复的记录
    select field1,field2 from table group by field1,field2
  5. 删除重复记录
    delete from from table a where id not in(select max(id) from table b group by field)
时间: 2024-10-24 13:07:03

SQL SERVER常用取重复记录的SQL语句的相关文章

SQL Server中删除重复记录的SQL语句

方法:  代码如下 复制代码            select distinct * into #tmp from tablename  drop table tablename  select * into tablename from #tmp drop table # tmp 常有时候遇到需要删除SQL Server中的重复记录,这里有一些常用的删除重复记录的SQL, 最常用的 T-SQL 语句:  代码如下 复制代码 DELETE FROM [dbo].[myTable] WHERE

利用 Sql Server 游标删除重复记录

这段时间因项目需要导入原有的数据到新库中,遭遇了数据重复的问题,需删除重复的数据.我采用游标的方法解决此问题. Sql 语句如下以免忘记. 代码 --删除重复数据,只保留记录号最大的declare mycursor cursor     for    select addinip from testdb group by addinip having count(addinip)>1open mycursordeclare @ip sysnamefetch next from mycursor 

SQL Server 查找全部重复记录

Select * From 表 Where 重复字段 In (Select 重复字段 From 表 Group By 重复字段 Having Count(*)>1)

SQL Server 常用SQL总结

  SQL Server 常用SQL总结 order by NAME collate Chinese_PRC_Stroke_CS_AS_KS_WS /*sqlserver分组不能以text,ntext,image类型的字段作为分组依据*/ --强制查询使用索引: select id from table_name with(index(索引名)) where num=@num --全文检索(name like '%abc%')(substring(cal_name ,1,3)='abc') se

SQL Server常用运算符学习总结教程

技术准备 基于SQL Server2008R2版本,利用微软的一个更简洁的案例库(Northwind)进行解析. 一.数据连接 数据连接是我们在写T-SQL语句的时候最常用的,通过两个表之间关联获取想要的数据. SQL Server默认支持三种物理连接运算符:嵌套循环连接.合并连接以及哈希连接.三种连接各有用途,各有特点,不同的场景会数据库会为我们选择最优的连接方式. a.嵌套循环连接(nested loops join) 嵌套循环连接是最简单也是最基础的连接方式.两张表通过关键字进行关联,然后

删除重复记录的sql语句

  删除重复记录的sql语句 我们提供了两款删除重复记录的sql语句,一种是用id not in来实例,也算是联合查询的方法吧,第二种是临时表来删除重复记录. 1),delete from tablename where id not in (select max(id) from tablename group by col1,col2,...) 2),select distinct * into temp from tablename delete from tablename insert

SQL Server遍历表中记录的2种方法

SQL Server遍历表一般都要用到游标,SQL Server中可以很容易的用游标实现循环,实现SQL Server遍历表中记录.本文将介绍利用使用表变量和游标实现数据库中表的遍历. 表变量来实现表的遍历 以下代码中,代码块之间的差异已经用灰色的背景标记. 1 DECLARE @temp TABLE 2 3 ( 4 5 [id] INT IDENTITY(1, 1) , 6 7 [Name] VARCHAR(10) 8 9 ) 10 11 DECLARE @tempId INT , 12 13

SQL Server遍历表中记录的2种方法(使用表变量和游标)_MsSql

SQL Server遍历表一般都要用到游标,SQL Server中可以很容易的用游标实现循环,实现SQL Server遍历表中记录.本文将介绍利用使用表变量和游标实现数据库中表的遍历. 表变量来实现表的遍历 以下代码中,代码块之间的差异已经用灰色的背景标记. 复制代码 代码如下: DECLARE @temp TABLE ( [id] INT IDENTITY(1, 1) , [Name] VARCHAR(10) ) DECLARE @tempId INT , @tempName VARCHAR(

mysql删除重复记录的sql语句与查询重复记录(1/4)

方法1 delete yourtable where [id] not in ( select max([id]) from yourtable group by (name + value)) 方法2 delete a from 表 a left join( select (id) from 表 group by name,value )b on a.id=b.id where b.id is null 查询及删除重复记录的sql语句 查询及删除重复记录的sql语句 1.查找表中多余的重复记录