1/delete a from (select id,name,num=(row_num()over(partition by id,name order by id)) from ta ) a where a.num<>12/delete a from ta a where exists(select 1 from ta b where a.name=b.name and a.id<b.id)
[Quote=引用 1 楼 ojuju10 的回复:]1/ delete a from (select id,name,num=(row_num()over(partition by id,name order by id)) from ta ) a where a.num <>1 好象不行 消息 195,级别 15,状态 10,第 24 行 'row_num' 不是可以识别的 内置函数名称。
可以了 应该是ROW_NUMBER() 谢谢
呵呵!按照你的说法.只要判断NAME相同就可以了
楼主,你用的是2000,只有2005才支持row_number()1/ delete a from (select id,name,num=(select count(1) from tb where a.id>=id) from ta a ) a where a.num <>1
一条语句很难搞定,因为mssql里面没有rowid
where a.num <>1 好象不行
消息 195,级别 15,状态 10,第 24 行
'row_num' 不是可以识别的 内置函数名称。
应该是ROW_NUMBER()
谢谢
楼主,你用的是2000,只有2005才支持row_number()1/ delete a from (select id,name,num=(select count(1) from tb where a.id>=id) from ta a ) a
where a.num <>1