SQL 删除相同数据较旧的那条

q287841348 2010-11-08 05:24:44
是这样一个问题:

Tel register
13322223333 2010-10-3 23:12
13322223333 2010-11-7 23:12
15366667777 2008-3-14 10:50
15366667777 2010-11-8 15:12
15988889999 2010-12-8 13:25

查询出来的结果:

Tel register
13322223333 2010-11-7 23:12
15366667777 2010-11-8 15:12
15988889999 2010-12-8 13:25

查询出来较新的数据
麻烦各位大神,这个SQL怎么写?

PS:HQL能实现吗?又怎么写?
...全文
103 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sweetbbs 2010-11-08
  • 打赏
  • 举报
回复
delete tb 
where exists(select 1 from tb t where t.tel=tb.tel and t.register>tb.register)
xiaomiaode 2010-11-08
  • 打赏
  • 举报
回复
1楼说的似乎可以!!!
阳明 to life 2010-11-08
  • 打赏
  • 举报
回复
LZ意思貌似只是查出来新的结果 旧的结果依然保留吧 可以参见1楼的自连接然后再把删除部分改为查询的
jypapgl 2010-11-08
  • 打赏
  • 举报
回复
delete from table a
where date!= (select max(date)
from table b
where a.id = b.id
and a.name = b.name
.....);
.....你想多条记录的那个字段相同 就写上
niemengwem 2010-11-08
  • 打赏
  • 举报
回复
手机号分组,时间排序
potahai 2010-11-08
  • 打赏
  • 举报
回复
delete from user where id in (select a.id from user a,user b where a.tel=b.tel)

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧