我想只为每个clientid保留1000个条目。下面的代码做我想要的,但不循环clientid,而是保持1000个任何客户端。删除SQL循环
有没有办法在SQL中做到这一点?我被告知我需要一个游标,但我希望不是。
DECLARE @ids TABLE (id int)
DECLARE @clients TABLE (clientid varchar(20))
INSERT INTO @clients (clientid)
SELECT select distinct clientid FROM tRealtyTrac
INSERT INTO @ids (id)
SELECT top 1000 id FROM tRealtyTrac WHERE clientid in (select clientid from @clients)
DELETE trealtytrac WHERE id NOT IN (select id from @ids)
那岩石!我以前从未使用过分区或排名。谢谢edsoverflow。 – Bryan 2009-07-23 22:22:18