sql server 如何删除重复数据只留一条

LiuLiPan 2018-03-20 08:43:59
sql server 如何删除重复数据只留一条
...全文
794 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_25073223 2018-03-21
  • 打赏
  • 举报
回复
sql server下使用row_number删除重复数据,只保留一条,请参阅下面的文章 http://www.maomao365.com/?p=4942
iamggggs 2018-03-21
  • 打赏
  • 举报
回复
按lz这种不加说明一行问句,估计一个distinct就满足了:
select distinct * from table
netcup 2018-03-21
  • 打赏
  • 举报
回复
数据库设计最好要设置主键,对于多方面都有利。如果有主键,则删除语句很简单。
二月十六 版主 2018-03-20
  • 打赏
  • 举报
回复
--测试数据
if not object_id(N'Tempdb..#T') is null
drop table #T
Go
Create table #T([id] int,[name] nvarchar(22))
Insert #T
select 1,N'小明' union all
select 1,N'小明' union all
select 1,N'小明' union all
select 2,N'小张' union all
select 2,N'小张' union all
select 3,N'小李'
Go
--测试数据结束
;WITH cte AS (
SELECT *,ROW_NUMBER()OVER(PARTITION BY name ORDER BY id) AS rn FROM #T
)
DELETE FROM cte WHERE rn>1

SELECT * FROM #T


34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧