Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2016
    Messaggi
    4

    [sql] estrazione record con MAX

    Ciao,
    ho in tabella PROVA questo:


    ID SCHEDA STATUS ACTION
    1 SCHEDA_01 A 1
    2 SCHEDA_01 B 2
    3 SCHEDA_01 C 3
    4 SCHEDA_01 D 4
    5 SCHEDA_02 A 1
    6 SCHEDA_02 B 2
    7 SCHEDA_02 C 3
    8 SCHEDA_02 D 4
    9 SCHEDA_02 E 5


    come posso fare per estrarre i soli record con max(ACTION), cioè quelli con ID=4, 9


    sono riuscito per un singolo record:
    select * from PROVA where SCHEDA='SCHEDA_01' and ACTION = (select max(ACTION) from PROVA where SCHEDA='SCHEDA_01');


    ma non so come fare per estrarre tutti i record insieme


    Potete per favore aiutarmi ?


    Grazie

  2. #2
    È un po' che non scrivo query ma ti direi di provare una cosa di questo tipo (se ti serve che escano anche più record se hanno tutti id uguale al massimo)
    codice:
    select * from PROVA p where ACTION = (select max(ACTION) from PROVA where SCHEDA=p.SCHEDA);
    o la join equivalente, se mi ricordo ancora come si fa

    codice:
    select * from PROVA p left outer join PROVA p1 on (p.scheda = p1.scheda and p.action < p1.action) where p1.id is null

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2016
    Messaggi
    4
    Grazie mille scimmiaparlante,
    funziona bene come mi hai indicato


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.