для SQL Server 2005 +
Каждый второй ряд
WITH example AS (
SELECT t.*, ROW_NUMBER() OVER (ORDER BY t.id) AS rank
FROM TABLE t)
DELETE example
WHERE rank%2 = 0
Для каждой третьей строки измените предложение WHERE на:
WHERE rank%3 = 0
Anf для каждого пятого ряда:
WHERE rank%5 = 0
При этом используется модуль, который возвращает остаток от деления. Если остаток равен нулю, то делимое значение кратно делителю.