Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    query che non mostri i duplicati

    ciao a tutti, ho un database così strutturato


    cioè nel primo campo c'è l'attributo e nella seconda il valore.
    ora dovrei creare un elenco di tutti gli attributi disponibili ma senza ripeterli più volte se questi si ripetono nella tabella.

    ovvero in questo caso dovrei visualizzare questo:
    - colore
    - peso
    - forma

    come posso creare la query? grazie!

  2. #2
    select campo
    from tabella
    group by campo

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Oppure
    codice:
    SELECT DISTINCT campo FROM tabella
    GROUP BY dovrebbe essere usato in congiunzione con la aggregate functions come COUNT, AVG, MAX ecc.

  4. #4
    Originariamente inviato da k.b
    Oppure
    codice:
    SELECT DISTINCT campo FROM tabella
    GROUP BY dovrebbe essere usato in congiunzione con la aggregate functions come COUNT, AVG, MAX ecc.
    Bella questa. E' un raggruppamento e lo usi come e quando ti pare. I gusti personali sono gusti personali. In molti casi sono equivalenti in altri no.

    La differenza e' che il distinct si estende a tutto il result set, il group by al solo campo/campi designato/i. Entrambi prendono il primo che soddisfa la richiesta. Che ne sappiamo se nella query, che non conosciamo, ricerca anche un altro campo? Quella citata sarebbe una tabella con valori duplicati e quindi e' solo un esempio e non finisce li (la tabella).

    Anyway... up to you.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Originariamente inviato da piero.mac
    Bella questa. E' un raggruppamento e lo usi come e quando ti pare. I gusti personali sono gusti personali. In molti casi sono equivalenti in altri no.
    Non sono gusti personali, GROUP BY senza aggregate functions non e' nemmeno standard SQL, e qui non si sa se si parla di MySQL. Ad esempio, in PostrgreSQL non sarebbe una query valida.

    Up to you

  6. #6
    scusate la mia inesattezza... per completezza confermo che la tabella ha altri campi ma non l'avevo indicato perchè pensavo di semplificare le cose...

    quindi per concludere cosa è meglio tra le due?

  7. #7
    Usa la distinct con il campo che ti serve univoco...

    E non per smentire il grande piero.mac, che spessime volte mi è stato d'aiuto, ma credo che l'appunto di k.b sia corretto.

    Se non metti un COUNT, MIN, MAX, il group by non funge....

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.