Condividi
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 )
La clausola
DISTINCT
viene utilizzata in combinazione con laSELECT
, 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
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:
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:
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