sql如何只保留最近一条记录,删除其它相同的
有个字段是users,用于记录用户名,同一用户名可能提交好几条记录保存到mssql数据库中,要求是删除这个字段多余的记录,只保留最近一条记录,用类似这样的语句来执行con...
有个字段是users,用于记录用户名,同一用户名可能提交好几条记录保存到mssql数据库中,要求是删除这个字段多余的记录,只保留最近一条记录,
用类似这样的语句来执行conn.Execute("Delete from 表 Where 字段<>''" )什么什么的,请高手解答下,谢谢
要求是删除这个字段相同用户名的多余的记录,只保留最近一条记录, 展开
用类似这样的语句来执行conn.Execute("Delete from 表 Where 字段<>''" )什么什么的,请高手解答下,谢谢
要求是删除这个字段相同用户名的多余的记录,只保留最近一条记录, 展开
1个回答
展开全部
delete from 表 a where not exists
(select 1 from
(select 用户名,max(日期) 日期 from 表 group by 用户名) b
where a.用户名=b.用户名 and a.日期=b.日期)
执行前先备份下,避免出错,然后相应的字段,你就换成你表里的字段吧
更多追问追答
追问
时间字段是times 你给个完整的代码 好吗
追答
delete from 表 a where not exists
(select 1 from (select users,max(times) times from 表 group by users) b where a.users=b.users and a.times=b.times)
替换下表名就好
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询