INDEX(reg_date) è probabilmente l'unico indice utile.
Sei costretto a fare 2 tipi:uno per il GROUP BY , un altro per ORDER BY .
Una volta visualizzato SHOW CREATE TABLE imei_tb , penso che sarò in grado di fornirti una query migliorata utilizzando una sottoquery.
Nuovo suggerimento
Un ordinamento può essere eliminato facendo il GROUP BY e ORDER BY incontro. Questo dovrebbe fornire risultati identici, ma più veloci:
GROUP BY city_id, GroupName
ORDER BY city_id, GroupName