sql如何只保留最近一条记录,删除其它相同的

有个字段是users,用于记录用户名,同一用户名可能提交好几条记录保存到mssql数据库中,要求是删除这个字段多余的记录,只保留最近一条记录,用类似这样的语句来执行con... 有个字段是users,用于记录用户名,同一用户名可能提交好几条记录保存到mssql数据库中,要求是删除这个字段多余的记录,只保留最近一条记录,
用类似这样的语句来执行conn.Execute("Delete from 表 Where 字段<>''" )什么什么的,请高手解答下,谢谢
要求是删除这个字段相同用户名的多余的记录,只保留最近一条记录,
展开
 我来答
badkano
2013-08-17 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885367
团长

向TA提问 私信TA
展开全部
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)

替换下表名就好

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式