您现在的位置是:网站首页> 编程资料编程资料
sqlserver查询去掉重复数据的实现_MsSql_
2023-05-26
387人已围观
简介 sqlserver查询去掉重复数据的实现_MsSql_
说明:
只要数据表“列名”数据相同,则说明是两条重复的数据(ID为数据表的主键自动增长)。
推荐使用方法一
-- 方法一 select * from 表名 A where not exists(select 1 from 表名 where 列名=A.列名 and ID
补充:SQL SERVER 查询去重 PARTITION BY
rownumber() over(partition by col1 order by col2)
去重的方法,很不错,在此记录下:
row_number() OVER ( PARTITION BY COL1 ORDER BY COL2)
表示根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的).
直接查询,中间很多相同的,但我只想取createdate时间最大的一条
select fromid,subunstall,kouchu,creatdate,syncdate,relate_key from BoxCount_Froms_Open

使用
PARTITION BY fromid ORDER BY creatdate DESC
根据中的 fromid分组,根据creatdate组内排序
WHERE RN= 1;取第一条数据 SELECT * FROM (SELECT fromid,subunstall,kouchu,creatdate,syncdate,relate_key,ROW_NUMBER() OVER( PARTITION BY fromid ORDER BY creatdate DESC)RN FROM BoxCount_Froms_Open ) T WHERE RN= 1;

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
您可能感兴趣的文章:
相关内容
- sqlserver 实现收缩数据库日志操作_MsSql_
- 详解sql中exists和in的语法与区别_MsSql_
- SQL Server重置IDENTITY属性种子值操作_MsSql_
- MySQL slave 延迟一列 外键检查和自增加锁_MsSql_
- SQL Server批量插入数据案例详解_MsSql_
- SQL Server之SELECT INTO 和 INSERT INTO SELECT案例详解_MsSql_
- sql server删除前1000行数据的方法实例_MsSql_
- Blazor Server 应用程序中进行 HTTP 请求_MsSql_
- MySQL令人大跌眼镜的隐式转换_MsSql_
- SQL写法--行行比较_MsSql_
