Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [sql query] selezionare il masimo

    Ciao ragazzi, spero che ci sia qualcuno che possa aiutarmi, sto letterelmente impazzendo con una query;
    Lo schema è il seguente:

    UNO(id_uno, regione, citta, m2, categoria )
    DUE(id_due, id_uno, prezzo, stato)

    La query deve ritornare la città con il prezzo al m2 più alto.
    Io avevo fatto una prima query in questo modo
    codice:
    • select avg(prezzo)/avg(m2), citta from UNO natural join DUE where categoria='uso privato' group by citta having avg(prezzo)/avg(m2)>0
    e così ritorna, funziona, e mi ritorna:

    codice:
    • citta | prezzo m^2 -------------------------------- roma | 33.34 -------------------------------- milano | 73.55
    essendo prezzo m^2 un tipo numeric, ora dovrei fare la query che seleziona la citta con il prezzo maggiore e in sostanza tutta la query viene così:

    codice:
    • select avg(prezzo)/avg(m2), citta from UNO natural join DUE where categoria='uso privato' group by citta having avg(prezzo)/avg(m2) >= all ( select avg(prezzo)/avg(m2) from UNO natural join DUE where categoria='uso privato' group by citta )
    Il problema è che facendo in questo modo mi viene un risultato vuto. Non ritorna ne roma ne milano quando dovrebbe venire come risultato milano; sicuramente sbaglio qualcosa. Sinceramente non so più dove sbattere la testa, c'è uacuno che mi può aiutare?
    luca31989

  2. #2

    Re: [sql query] selezionare il masimo

    Originariamente inviato da luca31989
    La query deve ritornare la città con il prezzo al m2 più alto.
    quindi UN SOLO valore?

  3. #3
    si uno solo valore !!
    luca31989

  4. #4
    e allora a cosa ti serve la GROUP BY?

    usa

    MAX(prezzo/m2)

  5. #5
    cosi seleziono il prezzo al metro quadro maggiore, io voglio il prezzo medio, maggiore al metro quadro.
    luca31989

  6. #6
    lo dici adesso...

    quindi:
    - ok la avg
    - ok la group by
    - aggiungi una order by
    - seleziona la top 1

  7. #7
    ok, grazie mille
    luca31989

  8. #8

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.