Ciao a tutti!
Avrei bisogno che mi aiutaste a completare una query!
Questo è il testo della query:
Mentre questo è quello che ho fatto io fino adesso.Trovare la città con il più alto costo medio di vendita al metro quadro di immobili ad uso privato rispetto alle città della stessa regione.
Così mi trova per ogni città inserita, quando il prezzo non è nullo, la media del costo per mq.codice:SELECT recapito.regione, recapito.comune, AVG(annuncio.prezzo/immobile.mq) AS costo_medio FROM annuncio JOIN immobile ON (annuncio.id_i = immobile.id_i) JOIN recapito ON (immobile.id_i = recapito.id_i) WHERE immobile.uso = 'privato' AND prezzo IS NOT NULL GROUP BY recapito.regione, recapito.comune HAVING AVG(annuncio.prezzo/immobile.mq) >= ALL (SELECT AVG(annuncio.prezzo/immobile.mq) AS costo_medio FROM annuncio JOIN immobile ON (annuncio.id_i = immobile.id_i) JOIN recapito ON (immobile.id_i = recapito.id_i) WHERE immobile.uso = 'privato' AND prezzo IS NOT NULL GROUP BY recapito.regione, recapito.comune) ORDER BY recapito.regione, recapito.comune
Ma io devo trovare la città con il più alto costo!
Non posso fare MAX(AVG(...)) perché Postgres non me lo permette!
E ogni volta che provo ad aggiungerci anche il MAX trovo solo la città in assoluto più costosa per prezzo/mq!!!
E per quanto riguarda questa, sapreste dirmi se è giusta o se sbaglio qualcosa?
Trovare gli annunci di vendita di immobili il cui costo al metro quadro è inferiore al
20% del costo medio al metro quadro degli annunci attivi per immobili della stessa città e della stessa tipologia.codice:SELECT annuncio.id_a, recapito.comune, immobile.tipo FROM annuncio JOIN immobile ON (annuncio.id_i = immobile.id_i) JOIN recapito ON (immobile.id_i = recapito.id_i) WHERE annuncio.prezzo IS NOT NULL AND (annuncio.prezzo/immobile.mq) < ALL (SELECT (annuncio.prezzo/immobile.mq)*20/100 FROM annuncio JOIN immobile ON (annuncio.id_i = immobile.id_i) JOIN recapito ON (immobile.id_i = recapito.id_i) WHERE annuncio.prezzo IS NOT NULL AND annuncio.attivo = TRUE) GROUP BY recapito.comune, immobile.tipo, annuncio.id_a ORDER BY annuncio.id_a

Rispondi quotando