Hola anayazti
La clausula group by tiene un funcionamiento particular en mysql. Alguna vez tuve una duda acerca de su funcionamiento que expuse en este
tema.
En resumen... Aunque mysql aplicando el comando ONLY_FULL_GROUP_BY responde al comportamiento correcto del group by para cualquier DBMS, la razón por la que es necesario incluir todos los campos que se expongan en la consulta como parte del group by es por que se necesita un criterio para excluir los registros que aparentemente son iguales.
Te lo explico con un ejemplo entre mysql y postgresql.
tenemos una tabla llamada empleado con id,nombre y departamento al que pertenece.
En postgresql sería:
Código SQL:
Ver originalpruebas=> CREATE TABLE empleado(id INTEGER,nombre TEXT,depto TEXT);
CREATE TABLE
pruebas=> INSERT INTO empleado VALUES(1,'DANIEL','SISTEMAS');
INSERT 0 1
pruebas=> INSERT INTO empleado VALUES(2,'MONICA','BIOLOGIA');
INSERT 0 1
pruebas=> INSERT INTO empleado VALUES(2,'MONICA','BIOLOGIA');
INSERT 0 1
pruebas=> SELECT *FROM empleado GROUP BY depto;
ERROR: COLUMN "empleado.id" must appear IN the GROUP BY clause OR be used IN an aggregate FUNCTION
Fijate que el error dice que es totalmente necesario incluir en la clausula group by el campo id.
Ahora miremos en mysql.
Código MySQL:
Ver originalQuery OK, 0 rows affected (0.00 sec)
Query OK, 1 row affected (0.00 sec)
Query OK, 1 row affected (0.00 sec)
Query OK, 1 row affected (0.00 sec)
+------+--------+----------+
| id | nombre | depto |
+------+--------+----------+
| 2 | MONICA | BIOLOGIA |
| 1 | DANIEL | SISTEMAS |
+------+--------+----------+
Supuestamente a agrupado correctamente la misma consulta.
La pregunta que se genera es: Con que criterio mysql ha mostrado el nombre DANIEL y no SANTIAGO? que criterio a tenido para rechazar este registro aunque cumpla todas las condiciones de la consulta?
Por el lado de postgresql (También Oracle, DB2 etc.) la inclusión de este campo es necesaria ya que si no cuenta con un criterio valido para la agrupación, al detectarlo genera error.
Leonardo_josue y tampon se preguntarán... esto que tiene que ver con el tema?

anayazti me ha solicitado ayuda mediante mensaje privado una explicación del como funciona el group by y la razón por la que no obtiene los resultados esperados.
El verdadero potencial del group by no es para exclusión de registros sino para el manejo de funciones de agrupación como MAX,MIN,SUM,AVG etc.
anayazti si nos compartes tus tablas clientes y nota (CREATE TABLE clientes....ETC) y algunos registros de prueba (INSERT INTO clientes VALUES....ETC) tal vez te podamos ayudar con la salida que quieras mostrar.
saludos a todos