0
행이있는 테이블이 하나있는 SQL Server 2008 R2 Express 데이터베이스가 있습니다. 데이터베이스 크기가 약 10GB가되면이 테이블에서 N 개의 마지막 레코드를 정리해야합니다.SQL Server 2008 R2 데이터베이스에서 마지막 N 레코드를 삭제하는 방법은 무엇입니까?
나는
DELETE FROM mytable
WHERE ROWID IN (SELECT ROWID FROM mytable ORDER BY ROWID ASC LIMIT 100)
감사를 이런 식으로 뭔가를해야하지만 SQL Server 용.
데이터베이스 구조 :
strSQL = "SELECT DateAndTime
,TagName
,Val
,SetPoint
,Limit_H
,Limit_L
,Result
FROM dbo.Statistic...."
UPD. 여유 공간이 필요하기 때문에 "DateAndTime"에 의존하지 않지만 1 일 (또는 1 주)은 1 개의 레코드로만 구성 될 수 있습니다. 이해할 수있는대로 ... 200,000 개의 레코드를 삭제해야합니다. 여기
이 참조가 [ROW_NUMBER (https://en.wikipedia.org/wiki/Hypervisor), 아마도 - 아직하지만 적절한 정의 순서가 있어야한다. 색인 순서에 의존하려고 시도 할 수 있습니다, ymmv; 비즈니스 주문을 선택하는 것이 훨씬 낫습니다 - DateAndTime, 아마도? – user2864740
ROW_NUMBER의 예인 [here] (https://stackoverflow.com/a/4193757/2276098)를 참조하십시오. –
"마지막"은 무엇을 의미합니까? 뭐라구? –