0
私はSQL Server 2008 R2 Expressデータベースを1つのテーブルに行があります。そして、データベースサイズが約10GBになったら、このテーブルからN個の最後のレコードをクリーニングする必要があります。SQL Server 2008 R2データベースの最後のNレコードを削除するにはどうすればよいですか?
私はこのような何かが必要ですが、SQL Serverの
DELETE FROM mytable
WHERE ROWID IN (SELECT ROWID FROM mytable ORDER BY ROWID ASC LIMIT 100)
感謝。
データベースの構造:
strSQL = "SELECT DateAndTime
,TagName
,Val
,SetPoint
,Limit_H
,Limit_L
,Result
FROM dbo.Statistic...."
UPD。空き領域が必要なので「DateAndTime」に依存しませんが、1日(または1週間)は1レコードのみで構成されます.200Kレコードを削除する必要があります。ここで
参照を[ROW_NUMBER](https://en.wikipedia.org/wiki/Hypervisor)、おそらく - まだかかわらず、適切に定義された順序があるはずです。インデックスの順序に頼ることができます。おそらく、ビジネス注文 - DateAndTime、おそらくそれを選択する方が良い? – user2864740
[こちら](https://stackoverflow.com/a/4193757/2276098)のROW_NUMBERの例を参照してください。 –
「最後」とはどういう意味ですか?何から注文された? –