Problema funzione MAX

di il
4 risposte

Problema funzione MAX

Ciao a tutti,devo fare una query semplicissima,praticamente devo visualizzare il valore massimo di una colonna(accessi.id_c) e il rispettivo id(accessi.id_t)

ecco il codice:

select max(accessi.id_c),accessi.id_t
from accessi
group by accessi.id_t
il problema è che non mi visualizza il numero massimo con gli id che hanno quel numero massimo ma tutta la tabella.
Come faccio per risolvere questo problema

4 Risposte

  • Re: Problema funzione MAX

    Ovvio che non lo faccia se raggruppi...
    Usa le tabelle derivate in questo modo
    
    Select MAXP.IdProdotto,MAXP.Massimo
        From T1
        RIGHT JOIN
            (select IdProdotto, Max(Prezzo) as Massimo
             From T1
             Group By IdProdotto) AS MAXP
        ON T1.IdProdotto=MAXP.IdProdotto AND T1.Prezzo=MAXP.Massimo
    Questo esempio estrae i prodotti con prezzo massimo per prodotto da un Elenco di prodotti.
    Ipotiziamo di avere una tabella prodotto con IndiceProdotto(IdProdotto), prezzo (a scopo di esempio).
  • Re: Problema funzione MAX

    Ciao, ti ringrazio per la risposta,mi potresti riscrivere l'esempio senza usare il right join perchè a scuola ancora lo dobbiamo fare quindi non riesco a capire bene.
    Ti ringrazio
  • Re: Problema funzione MAX

    No, la domanda mi pare fuori luogo.
  • Re: Problema funzione MAX

    Io non capisco SQL, ma ragionerei così:
    1) Visualizzazione struttura query, importa la tabella "accessi"
    2) Trascina nella griglia il solo campo id_c
    3) Clicca sul tasto Totali e scegli Max
    4) Salva con nome "Query1"
    5) Apri una nuova visualizzazione struttura query, importa tabella "accessi" e "Query1"
    6) Disegna una linea di join da Query1.MaxDiid_c verso accessi.id_c
    7) Trascina nella griglia i campi accessi.id_t e Query1.MaxDiid_c
    Salva con nome "Query2"
    Query2 risponde alla domanda di dna_programmer.
Devi accedere o registrarti per scrivere nel forum
4 risposte