A consulta GROUP BY válida não funciona quando combinada com INSERT INTO no Oracle

Estou tentando escrever um INSERT INTO que faz algum trabalho DISTINCT / GROUP BY. A consulta é executada perfeitamente como uma instrução select, mas não funcionará se for inserida em um INSERT INTO.

INSERT INTO MasterRecords
  (BatchRecordRecordID, SourceID, BatchID)
SELECT RecordID, SourceID, BatchID
FROM (
    SELECT RecordID, BatchID, 101 AS SourceID
    FROM BatchRecords
    WHERE BatchID = 150
    GROUP BY RecordID, BatchID
) BR

Isso me ganha:

Erro SQL: ORA-00979: não é uma expressão GROUP BY

Mas se eu remover apenas o código INSERT INTO, ele funcionará perfeitamente:

SELECT RecordID, SourceID, BatchID
FROM (
    SELECT RecordID, BatchID, 101 AS SourceID
    FROM BatchRecords
    WHERE BatchID = 150
    GROUP BY RecordID, BatchID
) BR

Resultados:

3   101 150
5   101 150
6   101 150
2   101 150
4   101 150
8   101 150
7   101 150
1   101 150

Minha suposição é que GROUP BY não é permitido dentro das instruções INSERT INTO select, mas não encontro quase nenhuma documentação confirmando isso.

questionAnswers(3)

yourAnswerToTheQuestion