Come si utilizza la clausola DISTINCT in una SELECT?

Come si utilizza e cosa fà esattamente la clausola DISTINCT in una query sql?

In Corso 1
MySql 17-12-2018 1 Risposta 4686 Visite 0

Risposte ( 1 approvate )

  1. Giorgio Borelli
    0
    17-12-2018 19:15:36
    Rispondi

    La clausola DISTINCT viene utilizzata in combinazione con la SELECT, e ne modifica il comportamento dei records ritornati, escludendone i doppioni in base al valore del campo (colonna) specificata.

    E più facile a spiegarsi con un esempio che a dirlo, supponiamo di avere in MySql una tabella 'books' definita per gestire un negozio di libri, per questi ad es. oltre al titolo, l'anno, ed il prezzo avremo anche l'autore e l'editore del libro, ogni autore così come ogni editore potrà aver scritto o pubblicato uno o più libri, del tipo

    • codice
    • titolo
    • prezzo
    • autore
    • editore
    • anno

    Con una SELECT normale ci verrebbero ritornati tutti i records dei libri anche dello stesso autore, se da questa tabella volessimo invece estrarre (selezionare) solo gli editori trattati nel nostro negozio, allora potremmo usare la DISTINCT per fare la seguente query:

    SELECT DISTINCT authors FROM books

    in questo modo avremmo un resultsets con la lista dei soli autori trattati nel nostro negozio dei libri.

    In un certo qual senso la DISTINCT è una 'funzione' di aggregazione, utilizzata spesso in combinazione con la funzione COUNT per conoscere il numero distinto (non doppioni) delle righe (records) che all'interno della nostra tabella possiedono un certo valore. Come prima un esempio sarà chiarificatore in tal senso, se volessimo sapere il numero di editori trattati nel nostro archivio, useremmo la COUNT e la DISTINCT in combinazione con una query sql di questo tipo:

    SELECT COUNT(DISTINCT editors) AS NUM_Editors FROM books;

    questa select tornera nella colonna NUM_Editors (è un alias) il valore numerico degli editori presenti nel nostro negozio di libri, indipendentemente se per ognuno di essi abbiamo più titoli per libri diversi.

    Ovviamente in una progettaz

Rispondi

Per poter rispondere a questa domanda, devi essere registrato e loggato sul sito, dopodichè compila il box sottostante cercando di essere il più chiaro ed esauriente possibile, la tua risposta potrebbe essere la soluzione che l'utente cerca ed essere contrassegnata come migliore, consentendoti così di ottenere punti ed autorevolezza.

Paolo Cereschini

Paolo Cereschini

Autore di questa domanda

 Domanda Precedente

 Elenco Domande 

Domanda Successiva