sql中重复数据的处理

来源:百度知道 编辑:UC知道 时间:2024/07/01 05:27:42
表:tb
id name time
5017 asdd 2009-5-14
5018 sdfd 2009-5-14
5019 asdd 2009-5-15
5019 2009-5-15
5019 2009-5-15

实现:
id name time
5017 asdd 2009-5-14
5018 sdfd 2009-5-14
当name字段有重复时,提取time最早的记录
一楼的:不能用distinct,因为我表里有text,image类型
二楼的:还是重复

select * from business b where name not in(select name from business where b.fwtime < fwtime);

select * from tb as t
where time=(select min(time) from tb where Name=t.Name)

select [id],name,min(time) time
from tb
group by [id],name
不好意思上面错了

应该是
select tb.*
from
tb
join
(
select name,min(time) time
from tb
group by name ) a
on
tb.name=a,name
and
tb.time=a.time