SQL Sever如何删除重复行数据?具体要求是,比如有表a(ID,Name,ZhouQi,Region),其中ID为key ,我要查找表中党Name和Region同时相同时的数据行并删除它?请问如何解决啊?比如 数据1):10,Keti,4,家里。数据2):11,Keti,6,家里。我想删除其中指定的第2条数据。
解决方案 »
- SQL查询问题:两个表字段完全相同,表2里部分与有表1重复记录,现在要把重复的查询出来
- 请大家帮看看这存储过程的问题
- 求一简单sql语句
- 参数数据类型 text 对于 replace 函数的参数 1 无效
- 如果向字符串字段中插入当前时间的时,分,秒,毫秒
- 已经没分了,请教数据库执行效率问题
- 如何用SQL语句实现以下?急!!!!!急!!!!!急!!!!!急!!!!!
- 紧急(触发器问题)
- 不用存储过程,如何在执行一个INSERT语句后,返回新记录的主键值。(DOTNET)
- 关于触发器的问题?急!!!!!
- 关于一个SQL查询条件在数组里对比的问题
- 如何设置sql server 2000使局域网内的sql server 2000用户不能访问我的数据库?
create table 表a
(ID int, Name varchar(10), ZhouQi int, Region varchar(10))insert into 表a
select 10, 'Keti', 4, '家里' union all
select 11, 'Keti', 6, '家里'
with t as
(
select ID,Name,ZhouQi,Region,
row_number() over(partition by name,Region order by ID) 'rn'
from 表a
)
delete from t where rn>1
select ID,Name,ZhouQi,Region from 表a/*
ID Name ZhouQi Region
----------- ---------- ----------- ----------
10 Keti 4 家里(1 row(s) affected)
*/
( select *,ROW_NUMBER()over(partition by Name order by name)aid from 表a )
delete from cte where aid>1
delete from a where id = (select id from b where a.id = b.id and a.Name = b.name and a.Region = b.Region)