Как удалить самую старую неделю (период) в базе данных MS SQL?

MS SQL 2008R2 Express, у меня есть база данных - одна таблица со строками. И когда размер БД стал около 10 ГБ, мне нужно убрать одну самую старую неделю в этой таблице (я не знаю дату). Не могли бы вы помочь мне со сценарием? Благодарю.

UPD1. Есть столбец DateAndTime, поэтому я делаю запрос в VBA следующим образом:

strSQL = "SELECT DateAndTime
                ,TagName
                ,Val
                ,SetPoint
                ,Limit_H
                ,Limit_L
                ,Result 
          FROM dbo.Statistic 
          WHERE DateAndTime  BETWEEN CAST('" & TimeBegin & "' AS datetime) AND CAST( '" & TimeEnd & " ' AS datetime) 
          Order By DateAndTime desc , (CASE WHEN ISNUMERIC(TagName)=1 THEN CAST(CAST(TagName AS float) AS INT)END ) desc"

2 ответа

Решение

Как насчет этого -

DELETE YOUR_TABLE
WHERE DATE_COL BETWEEN (SELECT MIN(DATE) FROM YOUR_TABLE) AND (SELECT MIN(DATE) FROM YOUR_TABLE) + 7

Как предложил Ankit, используйте min() даты и добавьте неделю

delete 
from dbo.statistic
where dateandtime between min(dateandtime) 
                    and dateadd(week, 1, min(dateandtime))
Другие вопросы по тегам