SQL排除重复结果只取字段最大值分享

如何用SQL排除重复结果只取字段最大值的记录?
要求得到的结果(即是PID相同的记录只取ID值最大的那一条)。
复制代码 代码如下:
select * from [Sheet1$] a
where  ID not exists (select 1 from [Sheet1$] where PID=a.PID and ID>a.ID)

select a.* from [Sheet1$] a inner join (select PID,max(ID) as max_id from [Sheet1$] group by PID) b on a.PID=b.PID and a.ID=b.max_id

时间: 2024-10-11 14:20:12

SQL排除重复结果只取字段最大值分享的相关文章

SQL排除重复结果只取字段最大值分享_MsSql

如何用SQL排除重复结果只取字段最大值的记录?要求得到的结果(即是PID相同的记录只取ID值最大的那一条). 复制代码 代码如下: select * from [Sheet1$] awhere  ID not exists (select 1 from [Sheet1$] where PID=a.PID and ID>a.ID) select a.* from [Sheet1$] a inner join (select PID,max(ID) as max_id from [Sheet1$]

sql 去除重复数据(多字段)

问题描述 sql 去除重复数据(多字段) 我现在有个表 表里面有ID No,Pass 然后根据No,Pass相同的数据,保留Max(ID)数据,删除其他,如何做? 我是这么做的,不知道行不行 delete Min(ID),CAST(No AS VARCHAR)+CAST(Pass AS VARCHAR) from Table group by No, Pass having count(*) > 1 解决方案 可以用distinct或者group by一下 解决方案二: 试一下 DELETE F

SQL删除重复数据只保留一条

  用SQL语句,删除掉重复项只保留一条 在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢 1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1) 2.删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只

sql 分组后获取其中一个字段最大值的整条记录

mysql的语句:  代码如下 复制代码 SELECT  * FROM (SELECT * FROM testTable ORDER BY createDate desc) pcc GROUP BY name Mysql中在分组前先排好序就可以找到需要的记录了,返回的就是按照name分组后不重复的符合条件的第一条记录. 在sqlserver中有很好的解决办法,  代码如下 复制代码 select * from ( select id,name,counts,createDate,row_numb

sqlserver中重复数据值只取一条的sql语句_MsSql

复制代码 代码如下: --建立数据表createtable TestData ( ID int identity(1,1) primary key, Data int, ColA varchar(20), ColB varchar(20) ) go --插入测试数据 declare @counts int declare @i int set @counts = 10000 set @i = 1 while @i<=@counts begin insert TestData (Data,ColA

sql删除重复数据的详细方法_MsSql

一. 删除完全重复的记录 完全重复的数据,通常是由于没有设置主键/唯一键约束导致的.测试数据: 复制代码 代码如下: if OBJECT_ID('duplicate_all') is not nulldrop table duplicate_all GO create table duplicate_all ( c1 int, c2 int, c3 varchar(100) ) GO insert into duplicate_all select 1,100,'aaa' union allse

sql-SQL查询字段有重复只取一条数据

问题描述 SQL查询字段有重复只取一条数据 sql查询数据,其中一个字段的数据有重复,重复的数据其他字段除创建时间外都相同,重复数据如何只显示最新的那条数据? 解决方案 select * from t where 时间 in ( select max(时间) from table group by 相同字段1,相同字段2,相同字段3,.... ) 思路 : 查询字段相同的数据(group by 或 distinct) 然后取出时间最新 (max 或者 时间升序)的数据, 将以上结果放在临时表 然

SQL Server 2000 money 字段,一添加就是0.0000,如何只取两位呢?

问题描述 SQLServer2000money字段,一添加就是0.0000,如何只取两位呢? 解决方案 解决方案二:自已顶一下啦.解决方案三:调用:publicstringMoney(stringstr){returnstring.Format("{0:F}",Convert.ToDecimal(str));}解决方案四:精度就是4位显示的时候可以myMoney.ToString("#.##")解决方案五:引用2楼zpcoder的回复: 调用:publicstrin

SQL中遇到多条相同内容只取一条的最简单实现方法_MsSql

SQL中经常遇到如下情况,在一张表中有两条记录基本完全一样,某个或某几个字段有些许差别, 这时候可能需要我们踢出这些有差别的数据,即两条或多条记录中只保留一项. 如下:表timeand 针对time字段相同时有不同total和name的情形,每当遇到相同的则只取其中一条数据,最简单的实现方法有两种 1.select time,max(total) as total,name from timeand group by time;//取记录中total最大的值 或 select time,min(