Hola DoHITB:
La consulta en realidad es correcta, aunque en lugar de colocar
Código:
ORDER BY COUNT(`GetName`)
Podrías utilizar un alias o el número del campo... hasta donde recuerdo, cuando lo haces así te calcula nuevamente el campo... No sé cómo trabaja MySQL, pero en SQL Server sí teníamos resultados distintos al hacer esto. Sería así:
Código MySQL:
Ver original+-------+
| campo |
+-------+
| uno |
| dos |
| uno |
| tres |
| dos |
| uno |
+-------+
Esta es la manera en que lo haces:
Código MySQL:
Ver original+-------+--------------+
+-------+--------------+
| uno | 3 |
| dos | 2 |
| tres | 1 |
+-------+--------------+
Pero podrías hacerlo como te menciono, por posición o con un alias:
Código MySQL:
Ver original+-------+--------------+
+-------+--------------+
| uno | 3 |
| dos | 2 |
| tres | 1 |
+-------+--------------+
+-------+-------+
| campo | total |
+-------+-------+
| uno | 3 |
| dos | 2 |
| tres | 1 |
+-------+-------+
Si en realidad de interesan sólo los duplicados (que supongo serían muy pocos casos) te recomiendo que agregues la cláusula HAVING.
Código MySQL:
Ver original+-------+-------+
| campo | total |
+-------+-------+
| dos | 2 |
| uno | 3 |
+-------+-------+
Y para el rendimiento, pues revisa que tengas declarado el campo GetName como un índice.
Saludos
Leo.