sql查询重复记录并取对应最小值

原表(aa):

id   a                      b

1    22                    456

2    22                    256

3    22                    268

4    23                    236

5    23                    358

要求查询 a字段重复记录取对应b中最小值

要显示结果:

22                    256

23                    236

sql语句:SELECT min(b) as b1,a FROM aa group by a

要显示结果:

2     22                    256

4     23                    236

sql语句:select ta.id,ta.a,ta.b from aa as ta where ta.b in (select min(b) from aa where a=ta.a)

时间: 2024-08-09 21:51:43

sql查询重复记录并取对应最小值的相关文章

sql查询重复记录的方法

1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people  where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1) 2.查找表中多个字段的重复记录 select * from vitae a where (a.peopleId,a.seq) in (select peopleId,seq from vita

sql查询重复记录、删除重复记录方法大全

1.查询重复记录单字段 select * from tbl a where  exists(select 1 from  tbl b where a.username=b.username group by username  having count(*) > 1) 2.查询重复次数 select clistname,count(clistname) from clalist  group by clistname having count(*)>1 3.删除重复记录,留有rowid最小的记

SQL查询重复记录 --转载

假设现有一张人员表(表名:Person),若想将姓名.身份证号.住址这三个字段完全相同的记录查找出来,使用 1: SELECT p1.* 2: FROM persons p1,persons p2 3: WHERE p1.id<>p2.id 4: AND p1.cardid = p2.cardid 5: AND p1.pname = p2.pname 6: AND p1.address = p2.address 可以实现该功能. 删除重复记录的SQL语句 1.用rowid方法 2.用group

【精华摘抄】SQL查询重复记录

假设现有一张人员表(表名:Person),若想将姓名.身份证号.住址这三个字段完全相同的记录查找出来,使用 1: SELECT p1.* 2: FROM persons p1,persons p2 3: WHERE p1.id<>p2.id 4: AND p1.cardid = p2.cardid 5: AND p1.pname = p2.pname 6: AND p1.address = p2.address 可以实现该功能. 删除重复记录的SQL语句 1.用rowid方法 2.用group

SQL查询重复记录、删除重复记录方法

查找所有重复标题的记录:SELECT * FROM t_info a WHERE ((SELECT COUNT(*) FROM t_info WHERE Title = a.Title) > 1) ORDER BY Title DESC一.查找重复记录1.查找全部重复记录Select * From 表 Where 重复字段 In (Select 重复字段 From 表 Group By 重复字段 Having Count(*)>1)2.过滤重复记录(只显示一条)Select * From HZ

sql语句查询同一表内多字段同时重复的记录 sql数据库重复记录删除

分享下用sql语句删除数据库中重复记录的方法.比如现在有一人员表 (表名:peosons) 若想将姓名.身份证号.住址这三个字段完全相同的记录查询出来select p1.* from persons p1,persons p2 where p1.id<>p2.id and p1.cardid = p2.cardid and p1.pname = p2.pname and p1.address = p2.address可以实现上述效果.几个删除重复记录的SQL语句 1.用rowid方法2.用gr

SQL重复记录查询-count与group by having结合查询重复记录

查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * from peoplewhere peopleId in (select  peopleId  from  people  group  by  peopleId  having  count(peopleId) > 1) 例如: select * from testtable where numeber in (select number from people group by number havin

sql删除重复记录

用SQL语句,删除掉重复项只保留一条 在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用. 所有的合计函数如下表所示: MIN返回一个给定列中最小的数值MAX返回一个给定列中最大的数值SUM返回一个给定列中所有数值的总和AVG返回一个给定列中所有数值的平均值COUNT返回一个给定列中所有数值的个数COUNT(*)返回一个表中的行数假设我们将从employee表中搜索工资最高的列,可以使用以下的SQL语句: SELECT max(salary), dept FR

SQL 查找重复记录

CREATE TABLE product( ID INT IDENTITY(1,1) PRIMARY KEY NOT NULL, Pid INT NOT NULL, Pname VARCHAR(50) NOT NULL, Punit CHAR(10) NOT NULL, Pspec VARCHAR(50), PbarCode VARCHAR(20),) INSERT INTO product(Pid,Pname,Punit,Pspec,PbarCode) VALUES(10000,'欧莱雅日间修