我有个表,有些记录属于部分重复,像根据时间去掉重复记录
比如这个表:
t1 t2
小明 2015-06-25
小明 2015-09-21
小红 2015-03-01
小花 2015-03-01
小白 2015-03-01
里面的小明那条记录,我只想保留2015-09-21这条最新的记录。
麻烦的是,我只能用一条select语句,不能把另一条记录删掉。
求解
SELECT a.*
FROM table1 a
WHERE NOT EXISTS (SELECT *
FROM table1 b
WHERE b.t1 = a.t1
AND b.t2 > a.t2)
根据最新的时间来进行筛选,,
select * from tablename tn1 where t.t2 = (select max(tn2.t2) from tablename tn2 where tn1.t1=tn2.t1);
tablename是你的表名,
如果有帮助,希望结帖哦。
create table tablename as
select t1,max(t2) from tablename group by t1;
谢谢大家了,只能选一个最佳。。。
select * from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)