En general, una vez que comience a agrupar, cada columna enumerada en su SELECCIÓN debe ser una columna en su GRUPO o algún agregado del mismo. Digamos que tienes una tabla como esta:
| ID | Name | City |
| 1 | Foo bar | San Jose |
| 2 | Bar foo | San Jose |
| 3 | Baz Foo | Santa Clara |
Si desea obtener una lista de todas las ciudades en su base de datos e intenta:
SELECT * FROM table GROUP BY City
... eso fallaría, porque está solicitando columnas (ID y Nombre) que no están en la cláusula GROUP BY. En su lugar, podrías:
SELECT City, count(City) as Cnt FROM table GROUP BY City
...y eso te daría:
| City | Cnt |
| San Jose | 2 |
| Santa Clara | 1 |
... pero NO obtendría su identificación o nombre. Puedes hacer cosas más complicadas con, p. subselecciona o se une a sí mismo, pero básicamente lo que está tratando de hacer no es posible como se indica. Desglose aún más su problema (¿cómo quiere que se vean los datos?) y continúe desde allí.
¡Buena suerte!