Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    714

    Recupera il valore massimo di una colonna!

    Ho questo codice:

    strSQL = "SELECT visite_log FROM Pippo"

    rs.Open strSQL,oConn,3,3
    if not rs.EOF then
    Response.Write "ris=" & rs("topolino")
    end if

    e vorrei estrapolare dal campo "topolino" col valore massimo (contengono solo numeri) l'id rispettivo.

    come posso fare?

    Grazie
    Mir

  2. #2
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,031
    facendo SELECT visite_log stai selezionando solo il campo visite_log, quindi dal campo topolino non puoi estrarre nulla.

    Se quello che vuoi fare è estrarre il valore numerico più alto contenuto nel campo topolino devi usare questa query:

    codice:
    SELECT Max(Topolino) As TopolinoMax FROM Pippo
    
    rs.Open strSQL,oConn,3,3
    If Not rs.EOF then
       Response.Write "ris=" & rs("TopolinoMax")
    End if

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    714
    Grazie... ma ora non riesco ad ottenere gli altri campi corrispondenti a quel record ... per esempio come posso ottenere l'ID?

    ho fatto così ... ma sballa:

    strSQL = "SELECT MAX(visite_log) AS visite_log_max FROM Contratto"

    rs.Open strSQL,oConn,3,3
    if not rs.EOF then
    Response.Write "ris=" & rs("visite_log_max") & "&ID=" & rs("ID")
    end if

    grazie ancora
    Mir

  4. #4
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,031
    codice:
    strSQL = "SELECT ID, MAX(visite_log) AS visite_log_max FROM Contratto"

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    714
    mi da questo errore:

    You tried to execute a query that does not include the specified expression 'ID' as part of an aggregate function.

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    253
    ma non fai prima a fare due select distinte, una per il max e una per il tuo record?
    Non mi pare tu possa unire due tipi di dati differenti come questi nella stessa select...
    E' normale che non trova l'ID, perchè nessun id corrisponde al campo visite_log_max!

  7. #7
    Se non hai bisogno di ordinarli puoi semplicemente fare:

    strSQL = "SELECT ID, visite_log FROM Contratto ORDER BY visite_log DESC"

    il primo sarà quello col valore massimo...

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    714
    caspita .. soluzione geniale ... non ci avevo minimamente pensato!

    Molte grazie a tutti!
    Mir

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    714
    Un ultima cosa però ... volendo ottenere i valori dei primi tre record come faccio?

    immagino si agisca su questa:

    rs.Open strSQL,oConn,3,3
    if not rs.EOF then
    Response.Write "vis_max=" & rs("visite_log") & "&id_max=" & rs("ID")
    end if

    grazie
    Mir

  10. #10
    strSQL = "SELECT TOP 3 ID, visite_log FROM Contratto ORDER BY visite_log DESC"

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 © 2026 vBulletin Solutions, Inc. All rights reserved.