Since you're sure there are 3 of each, it might be easiest to delete all but the smallest...SELECT LetterCode, CycleName, [Mail Date], MIN(NumberMailed) As MinNumberMailed FROM MyTable GROUP BY LetterCode, CycleName, [Mail Date]
the delete is easy once you know the rows not to deleteDELETE M FROM MyTable M LEFT OUTER JOIN (above query here ) X ON M.LetterCode = X.LetterCode AND M.CycleName = X.CycleName AND M.[Mail Date] = X.[Mail Date] AND M.NumberMailed = X.MinNumberMailed WHERE X.NumberMailed IS NULL
Caveat emptor. I haven't tried this.