El problema no era que la tabla estuviera corrupta. Cuando haces un grupo por, mysql crea una tabla temporal. Debido a que la tabla es tan grande, la tabla temporal ocupa más de 10 gb de espacio en disco. El mensaje de error aparece cuando el disco se llenó al 100%.
Usé el comando para verificar el espacio en disco:
df -h /dev/root
Entonces, en la configuración de MySQL (my.ini), cambié la ubicación (tmpdir) donde se almacenan las tablas temporales a una partición con suficiente espacio libre en disco.
ahora la consulta se ejecuta correctamente