sqlserver查询去掉重复数据的实现
程序员文章站
2022-03-21 22:38:01
说明:只要数据表“列名”数据相同,则说明是两条重复的数据(id为数据表的主键自动增长)。推荐使用方法一-- 方法一select * from 表名 a where not exists(select...
说明:
只要数据表“列名”数据相同,则说明是两条重复的数据(id为数据表的主键自动增长)。
推荐使用方法一
-- 方法一 select * from 表名 a where not exists(select 1 from 表名 where 列名=a.列名 and id<a.id) -- 方法二 select a.* from 表名 a inner join (select min(id) id,列名 from 表名 group by 列名) b on a.列名=b.列名 and a.id=b.id -- 方法三 select * from 表名 a where id=(select min(id) from 表名 where 列名=a.列名)
补充: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;
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
推荐阅读
-
ASP将Excel数据导入到SQLServer的实现代码
-
Python实现读取SQLServer数据并插入到MongoDB数据库的方法示例
-
查询Sqlserver数据库死锁的一个存储过程分享
-
Sqlserver数据库中char、varchar、nchar、nvarchar的区别及查询表结构
-
C#实现把查询出的Table作为参数更新到数据库
-
把所有数据的重复值去掉不使用函数只用VBA的实现方法
-
asp实现的查询某关键词在MSSQL数据库位置的代码
-
flask/django 动态查询表结构相同表名不同数据的Model实现方法
-
sqlserver清除完全重复的数据只保留重复数据中的第一条
-
sqlserver空间数据 + c# 实现查询附近的设备