GROUP BY запрещён в DELETE-запросе?
Да, GROUP BY нет в конструкции DELETE. И да, это вполне корректный вариант, ничего в нем неуклюжего нет.
Из документации:

DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name [[AS] tbl_alias]
    [PARTITION (partition_name [, partition_name] ...)]
    [WHERE where_condition]
    [ORDER BY ...]
    [LIMIT row_count]


Да, GROUP BY нет в конструкции DELETE. И да, это вполне корректный вариант, ничего в нем неуклюжего нет.
Из документации:

DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name [[AS] tbl_alias]
    [PARTITION (partition_name [, partition_name] ...)]
    [WHERE where_condition]
    [ORDER BY ...]
    [LIMIT row_count]

