按条件删除数据

hunren 2015-11-03 02:38:15
ID---用户---天数----日期---
A---1001---1---2015-11-1
B---1001---2---2015-11-5
C---1001---3---2015-11-6
D---1002---1---2015-11-2
E---1002---2---2015-11-8
F---1003---1---2015-10-1

请教:如何只保留每个用户“天数”最大的那条记录,用一条sql把ID为A,B,D的数据删除?

...全文
119 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
shadowpj 2015-11-03
  • 打赏
  • 举报
回复
楼上2位都回答了!路过!
Yole 2015-11-03
  • 打赏
  • 举报
回复

delete from table1 where id not in
(
select id from table1 a ,
(
select 用户,MAX(天数) as 天数 from table1 group by 用户
) b
where a.用户=b.用户 and a.天数=b.天数
)

迷糊丶 2015-11-03
  • 打赏
  • 举报
回复
delete FROM Table_1 WHERE ID not IN( SELECT ID FROM Table_1 W WHERE 天数=(SELECT MAX(天数) FROM Table_1 WHERE 用户=W.用户))

34,591

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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