Hola catpaw:
En tu post colocas esto:
Cita: En teoria deberian tener siempre la misma clave, pero ya sabemos que siempre hay fallos en el manejo de datos etc aveces muy ajenos a nosotros, entonces por cuestiones diversas se puede dar el caso que haya un mismo usuario con diferente clave.
Esto no es teoría, así debe ser SIEMPRE... el que hables de "fallos" en el manejo de los datos es una cosa terrible, y no debería suceder... en lugar de tratar de hacer consultas para tratar de corregir la información deberías ir a fondo y evitarlos desde un inicio... un buen modelo de BD debe evitar este tipo de acciones... Para tal efecto te puedes valer de la implementación de elementos como TRIGGERS o PROCEDIMIENTOS ALMACENADOS, para evitar que se dupliquen usuarios con claves distintas. Ojo con eso.
Ahora bien, con respecto a tu pregunta, en realidad no hay necesidad de hacer uan subconsulta y agrupar dos veces... lo puedes hacer desde el primer SELECT, es decir, hacer algo como esto:
Código MySQL:
Ver original+--------+------------+------+-------+
| no_usu | usuario | mes | clave |
+--------+------------+------+-------+
| USU01 | trollencio | ene | 1 |
| USU01 | trollencio | feb | 1 |
| USU02 | fukencia | ene | 2 |
| USU02 | fukencia | feb | 2 |
| USU02 | fukencia | ene | 5 |
| USU02 | fukencia | feb | 5 |
+--------+------------+------+-------+
+----------+-------+
| usuario | total |
+----------+-------+
| fukencia | 2 |
+----------+-------+
El resultado es el mismo y la consulta es más simple.
Haz la prueba para ver si esto es lo que necesitas.
Saludos
Leo.