O código que você tentou é na verdade duas instruções. Um
DELETE
seguido por um SELECT
. Você não define
TOP
conforme ordenado pelo quê. Para um critério de ordenação específico, a exclusão de uma CTE ou expressão de tabela semelhante é a maneira mais eficiente.
;WITH CTE AS
(
SELECT TOP 1000 *
FROM [mytab]
ORDER BY a1
)
DELETE FROM CTE