Hola, si lo entendí bien, no necesitas entonces la clausula group by, pues creo que no agrupas nada.
Código:
select direccion, tipo, precio, superficie, habitaciones from anuncio WHERE (Sysdate-Fecha) < 30 order by habitaciones asc, precio asc;
Si me equivoco y sí que agrupas la forma sería esta
Código:
select direccion, tipo, precio, superficie, habitaciones from anuncio WHERE Sysdate-Fecha < 30 group by habitaciones, direccion, tipo, precio, superficie order by habitaciones asc, precio asc;
A ver si es esto, un saludo