Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    186

    [SQL] non selezionare righe "doppie"

    ciao a tutti
    sto cercando di creare una select che mi permetta di selezionare, da una tabella, righe senza "doppioni".
    Mi spiego meglio:

    la mia tabella è questa:

    campo1 campo2 campo3 campo4
    001 1 2 3
    001 4 5 6
    002 7 8 9
    003 10 11 12
    004 13 14 15
    004 16 17 18

    vorrei questo risultato:

    campo1 campo2 campo3 campo4
    001 1 2 3
    002 7 8 9
    003 10 11 12
    004 13 14 15

    prendendo, delle righe che hanno ripetizioni sul campo1, solo la prima...

    sinceramente non so come fare....


  2. #2
    GROUP BY campo1,...
    http://www.anobii.com/isalreadyinuse

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    186
    c'ho provato ma se faccio

    select campo1, campo2, campo3, campo4
    from tabella
    group by campo1

    mi da errore dicendo che campo2, campo3 e campo4 non sono espressioni group by...

  4. #4
    ...Infatti quello che vuoi non si può fare ne' con una semplice distinct ne' con una semplice group by.
    Per fare quello che hai bisogno necessiti di inserire un campo indice incrementale, supponendo che il "primo" record che vuoi selezionare abbia l'indice più basso potresti fare:

    select
    campo1,
    ...,
    campo4
    from
    tabella
    where
    indice in (select campo1, min(indice) from tabella group by campo1)

    Non hai specificato il DB, è sempre il caso di specificarlo visto che i dialetti SQL si differenziano...
    ...

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.