Foxtable(狐表)用户栏目专家坐堂 → 一个数据库表,有重复值,取最新,其他的删掉


  共有1767人关注过本帖树形打印复制链接

主题:一个数据库表,有重复值,取最新,其他的删掉

帅哥哟,离线,有人找我吗?
fubblyc
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16181 威望:0 精华:0 注册:2013/9/1 8:09:00
一个数据库表,有重复值,取最新,其他的删掉  发帖心情 Post By:2019/9/19 11:46:00 [只看该作者]

老师,一个数据库表
条码货号,字段:

条码     货号    更新时间
1111    101    2015-01-01
1111    105    2016-02-03
1111    112    2019-09-18


2015,2016的的条码已经不用,要删掉,只留下最新的时间

这种sql语句要怎么写呢?

Dim cmd As new SQLCommand
cmd.C
cmd.CommandText = " delet e from 条码货号 where  Max(更新时间)  "


这个有点复杂~~



 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106097 积分:539590 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/9/19 13:47:00 [只看该作者]

试试

delete from 条码货号 where 
[_Identify] in ( select [_Identify] from 条码货号 as b inner join (selec条码,max(更新时间) as 更新时间 from 条码货号  group by 条码 having count(条码) > 1) as a on a.条码 = b.条码 and a.更新时间 <> b.更新时间)

 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16181 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2019/9/21 10:49:00 [只看该作者]

非常快,非常感谢蓝大大

 回到顶部