SqlServer2005中使用row_number()在一个查询中删除重复记录
使用 查询 一个 number 删除 row 重复记录 sqlserver2005
2023-06-13 09:14:24 时间
下面我们来看下,如何利用它来删除一个表中重复记录:
复制代码代码如下:
IfExists(Select*Fromtempdb.Information_Schema.TablesWhereTable_NameLike"#Temp%")
DropTable#temp
CreateTable#temp([Id]int,[Name]varchar(50),[Age]int,[Sex]bitdefault1)
Go
InsertInto#temp([Id],[Name],[Age],[Sex])Values(1,"James",25,default)
InsertInto#temp([Id],[Name],[Age],[Sex])Values(1,"James",25,default)
InsertInto#temp([Id],[Name],[Age],[Sex])Values(1,"James",25,default)
InsertInto#temp([Id],[Name],[Age],[Sex])Values(2,"Lisa",24,0)
InsertInto#temp([Id],[Name],[Age],[Sex])Values(2,"Lisa",24,0)
InsertInto#temp([Id],[Name],[Age],[Sex])Values(2,"Lisa",24,0)
InsertInto#temp([Id],[Name],[Age],[Sex])Values(3,"Mirsa",23,0)
InsertInto#temp([Id],[Name],[Age],[Sex])Values(3,"Mirsa",23,0)
InsertInto#temp([Id],[Name],[Age],[Sex])Values(3,"Mirsa",23,0)
InsertInto#temp([Id],[Name],[Age],[Sex])Values(4,"John",26,default)
InsertInto#temp([Id],[Name],[Age],[Sex])Values(5,"Abraham",28,default)
InsertInto#temp([Id],[Name],[Age],[Sex])Values(6,"Lincoln",30,default)
DeleteTFrom
(SelectRow_Number()Over(PartitionBy[ID],[Name],[Age],[Sex]orderBy[ID])AsRowNumber,*From#Temp)T
WhereT.RowNumber>1
Select*From#temp
注意倒数第二句脚本,我们在一个查询实现这个功能.
你可以自己执行T-SQLscript看效果.希望对您开发有帮助!
相关文章
- .NET性能优化-使用Collections.Pooled
- 使用PHP 如何请求 ChatGPT 接口
- WordPress 文章查询教程3:如何使用文章类型参数
- oracle冷备份恢复和oracle异机恢复使用方法
- mysql的SQL_NO_CACHE(在查询时不使用缓存)和sql_cache用法详解数据库
- Oracle 视图 USER_ANALYTIC_VIEW_LVL_CLS_AE 官方解释,作用,如何使用详细说明
- Oracle中使用子查询的别名技巧(oracle子查询别名)
- 使用MySQL实现多表查询(多表查询mysql)
- 文档Linux系统下使用Word文档的方法(linux打开word)
- 如何使用Oracle查询父节点(oracle查询父节点)
- 掌握Oracle锁表查询:尝试着使用SQL语句(oracle锁表查询语句)
- 学生信息管理:使用MySQL表进行学生信息存储与查询(mysql学生表)
- 使用MySQL查询语句进行模糊搜索:了解如何使用LIKE操作符快速检索数据库中的数据。(mysql查询like)
- 使用Oracle查询锁定记录(oracle锁记录查询)
- 如何使用MSSQL连接工具6构建数据库链接(mssql连接工具6)
- 使用CMD快速查询MySQL表格(cmd查mysql表)
- Oracle系统使用权限侵权调查报告(oracle 侵权查询)
- 利用Oracle查询数据使用别名的秘籍(Oracle使用别名查询)
- 使用Redis设置数值精准控制数据(在redis设置数字)
- SqlServer2005中使用row_number()在一个查询中删除重复记录的方法