当前位置: 代码迷 >> Sql Server >> 怎么删除多行符合一定条件的记录
  详细解决方案

怎么删除多行符合一定条件的记录

热度:50   发布时间:2016-04-24 23:41:50.0
如何删除多行符合一定条件的记录?
一、建表
CREATE TABLE [dbo].[Table_del](
[id] [int] IDENTITY(1,1) NOT NULL,
[tcode] [varchar](20) NULL,
[tmemo] [varchar](20) NULL,
[tvalue] [numeric](18, 2) NULL
) ON [PRIMARY]

二、测试数据


insert into Table_del(tcode, tmemo, tvalue) values('1001','a',0)
insert into Table_del(tcode, tmemo, tvalue) values('1001','b',1)
insert into Table_del(tcode, tmemo, tvalue) values('1001','c',0)

insert into Table_del(tcode, tmemo, tvalue) values('1002','a',0)
insert into Table_del(tcode, tmemo, tvalue) values('1002','b',0)
insert into Table_del(tcode, tmemo, tvalue) values('1002','c',0)


三、求一个sql删除后面三行。
    删除条件是tcode值相同,tvalue=0.

------解决方案--------------------
delete from Table_del where tcode in(select tcode from(select tcode,tvalue=max(tvalue) from Table_del group by tcode)tt where tvalue=0)
  相关解决方案