SQLserver 排除重复项
2012-04-12 11:09
120 查看
方法1:使用distinct
方法2:使用ROW_NUMBER()函数
如:
select * from (select ROW_NUMBER() over(Partition by name order by ID asc) as rowid,t.*
from t) t1
where t1.rowid=1
解释:
Partition by(根据姓名排重) name order by ID(根据ID排序) asc
此段SQL的意思为。
只取ROWID为1的数据。因为ROWID通过ROW_NUMBER()函数获取的。如果NAME 相同的有几位,
where t1.rowid=1为限定条件,只取第一位。
方法2:使用ROW_NUMBER()函数
如:
select * from (select ROW_NUMBER() over(Partition by name order by ID asc) as rowid,t.*
from t) t1
where t1.rowid=1
解释:
Partition by(根据姓名排重) name order by ID(根据ID排序) asc
此段SQL的意思为。
只取ROWID为1的数据。因为ROWID通过ROW_NUMBER()函数获取的。如果NAME 相同的有几位,
where t1.rowid=1为限定条件,只取第一位。
相关文章推荐
- sqlserver合并DataTable并排除重复数据的通用方法分享
- sqlserver查询重复记录
- 通过MD5排除重复文件
- SQLSERVER 删除重复记录
- 快速删除重复记录(Oracle&SqlServer)
- [SQLServer]如何删除表中的重复行
- mysql关于排除表中重复数据
- sqlserver中删除数据表中重复的数据或是某一列中重复的字段,紧保留一条数据
- 合并DataTable并排除重复数据的通用方法
- sqlserver 连接查询的问题,a表无重复记录,与b表中的记录为1对N关系,如何在查得a表信息时统计b表记录数
- sqlserver 2008R2 删除一个表中的重复数据
- sqlserver分隔字符串,查找父类下所有子类,删除重复字符串,计算一字符串在别一字符中出现的次数
- SqlServer事务中的可重复读和序列化隔离界别
- sqlserver常用操作——判断关键字段是否重复插入记录
- sqlserver 2008 R2 删除重复数据
- 删除重复记录(Mysql,SqlServer,Sqlite)
- sql server 排除名字重复数据,获取最新的数据
- SQL排除重复结果只取字段最大值
- SqlServer事务中的可重复读和序列化隔离界别