Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24
  1. #1
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812

    [access] select distinct + max()

    che sto sbagliando approccio ormai l'ho capito a me
    e direi che dal titolo si capisce

    la tabella:
    codice:
    id, campo, altrocampo, matricola, data
    45,.................., aaaaaa12, 20/08/2013
    46,.................., aaaaaa57, null
    47,.................., aaaaaa35, 15/08/2013
    48,.................., aaaaaa12, 21/08/2013
    49,.................., aaaaaa35, 23/08/2013
    devo estrarre i record completi distinti per matricola e max(data) , e anche quelli senza data.
    ovvero i record con id: 46,48,49

    mi viene in mente solo ora...
    è vero che potrebbe esserci il caso di un record doppio (stesse matricola e data),
    non so ancora se devo estrarli entrambi, per ora facciano di no: solo quello con id più alto (semmai poi tolgo la condizione)

    come si fa?

  2. #2
    max() - come tutte le funzioni di aggregazione - va con la GROUP BY, non con la DISTINCT

  3. #3
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    sono ore che faccio esperimenti anche con group ma non ne salto fuori

  4. #4
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    partendo da questa...
    codice:
    SELECT matricola, max(data) FROM tabella GROUP BY matricola
    poi che si fa?

  5. #5
    Originariamente inviato da Vincent.Zeno
    partendo da questa...
    codice:
    SELECT matricola, max(data) FROM tabella GROUP BY matricola
    poi che si fa?
    Mi sembra vada bene. Che problemi ti da?
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  6. #6
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    Originariamente inviato da bomberdini
    Mi sembra vada bene. Che problemi ti da?
    non stampo il resto del record: ottengo solo le matricole.
    non riesco a concatenarlo/inserirlo

  7. #7
    Originariamente inviato da Vincent.Zeno
    non stampo il resto del record: ottengo solo le matricole.
    non riesco a concatenarlo/inserirlo
    non stampi il resto perche' non l'hai inserito nella clausola SELECT

    Mettilo

    ricordandoti che avendo usato group by devi usare funzioni di aggregazione quindi

    SELECT matricola,FIRST(campo),FIRST(altrocampo) eccetera, max(data) FROM tabella GROUP BY matricola
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  8. #8
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    uhmm.. ottengo errore
    Item cannot be found in the collection corresponding to the requested name or ordinal.
    sui campi che non sono data o matricola.
    prima avevo provavo senza FIRST(campo) (solo campo), e dava lo stesso errore

  9. #9
    Potresti postare la query
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  10. #10
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,522
    Non credo che first() sia una funzione di raggruppamento come in genere si usa quando hai il group by
    Che campi sono gli altri ? Puoi usare anche per loro funzioni quali max(), min(), etc ?

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.