...ho scoperto che...postgreSQL a differenza di MySql non accetta una query tipo

select * from tabella GROUP BY campo <-- valida per MYSQL ma non per postgreSQL

...o poi scoperto che per realizzare una cosa come "select * from tabella GROUP BY campo" con postgreSQL è necessario fare una Subquery....

---------------------------------
Domanda 1:
davvero è l'unica soluzione?
---------------------------------

Ho per cui impostato la mia query come segue:

codice:
"SELECT * FROM tabella WHERE campo1 = '$campo1' AND campo2 = '$campo2' AND campo3 = '$campo3' AND campo4
IN(SELECT campo4 FROM tabella GROUP BY campo4 HAVING COUNT(*) <= 1)"
- Ho nella tabella 30 record:
tipo:
CAMPO4
100
50
50
50
50
50
50
50
50
50
50
50
50


- dovrebbe stamparne 2 (100 e 50)
- mentre invece me ne stampa 1 solo ovvero il 100

cosa sbaglio?