Istruzione SQL SELECT DISTINCT
L'istruzione SQL SELECT DISTINCT
L' SELECT DISTINCT
istruzione viene utilizzata per restituire solo valori distinti (diversi).
All'interno di una tabella, una colonna contiene spesso molti valori duplicati; e a volte vuoi solo elencare i diversi valori (distinti).
SELECT DISTINCT Sintassi
SELECT DISTINCT column1, column2, ...
FROM table_name;
Database dimostrativo
Di seguito è riportata una selezione dalla tabella "Clienti" nel database di esempio Northwind:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 |
Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 |
Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
SELECT Esempio senza DISTINCT
La seguente istruzione SQL seleziona tutti i valori (inclusi i duplicati) dalla colonna "Paese" nella tabella "Clienti":
Esempio
SELECT Country FROM Customers;
Ora, usiamo l' SELECT DISTINCT
istruzione e vediamo il risultato.
SELEZIONA DISTINTO Esempi
La seguente istruzione SQL seleziona solo i valori DISTINCT dalla colonna "Paese" nella tabella "Clienti":
Esempio
SELECT DISTINCT Country FROM Customers;
La seguente istruzione SQL elenca il numero di paesi clienti diversi (distinti):
Esempio
SELECT COUNT(DISTINCT Country) FROM Customers;
Nota: l'esempio sopra non funzionerà in Firefox! Perché COUNT(DISTINCT column_name ) non è supportato nei database di Microsoft Access. Firefox utilizza Microsoft Access nei nostri esempi.
Ecco la soluzione per MS Access:
Esempio
SELECT Count(*) AS DistinctCountries
FROM (SELECT DISTINCT Country FROM Customers);