Riepilogo :in questo tutorial imparerai come usare SQLite SELECT DISTINCT
clausola per rimuovere le righe duplicate nel set di risultati.
Introduzione a SQLite SELECT DISTINCT
clausola
Il DISTINCT
è una clausola facoltativa di SELECT
dichiarazione. Il DISTINCT
La clausola consente di rimuovere le righe duplicate nel set di risultati.
La seguente istruzione illustra la sintassi di DISTINCT
clausola:
SELECT DISTINCT select_list
FROM table;
Code language: SQL (Structured Query Language) (sql)
In questa sintassi:
- In primo luogo, il
DISTINCT
la clausola deve apparire immediatamente dopo ilSELECT
parola chiave. - In secondo luogo, inserisci una colonna o un elenco di colonne dopo il
DISTINCT
parola chiave. Se utilizzi una colonna, SQLite utilizza i valori in quella colonna per valutare il duplicato. Nel caso in cui utilizzi più colonne, SQLite utilizza la combinazione di valori in queste colonne per valutare il duplicato.
SQLite considera NULL
valori come duplicati. Se usi il DISTINCT
clausola con una colonna che ha NULL
valori, SQLite manterrà una riga di un NULL
valore.
Nella teoria del database, se una colonna contiene NULL
valori, significa che non abbiamo le informazioni su quella colonna di particolari record o le informazioni non sono applicabili.
Ad esempio, se un cliente ha un numero di telefono con un NULL
valore, significa che non abbiamo informazioni sul numero di telefono del cliente al momento della registrazione delle informazioni sul cliente o il cliente potrebbe non avere alcun numero di telefono.
SQLite SELECT DISTINCT
esempi
Useremo i customers
tabella nel database di esempio per la dimostrazione.
Supponiamo che tu voglia conoscere le città in cui si trovano i clienti, puoi utilizzare il SELECT
istruzione per ottenere i dati dalla city
colonna dei customers
tabella come segue:
SELECT city
FROM customers
ORDER BY city;
Code language: SQL (Structured Query Language) (sql)
Provalo
Restituisce 59 righe. Ci sono poche righe duplicate come Berlin
London
e Mountain View
Per rimuovere queste righe duplicate, utilizzi DISTINCT
clausola come segue:
SELECT DISTINCT city
FROM customers
ORDER BY city;
Code language: SQL (Structured Query Language) (sql)
Provalo
Restituisce 53 righe perché DISTINCT
la clausola ha rimosso 6 righe duplicate.
SQLite SELECT DISTINCT
su più colonne
La seguente dichiarazione trova le città e i paesi di tutti i clienti.
SELECT
city,
country
FROM
customers
ORDER BY
country;
Code language: SQL (Structured Query Language) (sql)
Provalo
Il set di risultati contiene città e paesi duplicati, ad esempio San Paolo in Brasile, come mostrato nello screenshot qui sopra.
Per rimuovere la città e il paese duplicati, applica il DISTINCT
clausola su entrambe le colonne città e paese come mostrato nella query seguente:
SELECT DISTINCT
city,
country
FROM
customers
ORDER BY
country;
Code language: SQL (Structured Query Language) (sql)
Ecco l'output parziale:
Come accennato in precedenza, SQLite utilizza la combinazione di città e paese per valutare il duplicato.
SQLite SELECT DISTINCT
con NULL
esempio
Questa dichiarazione restituisce i nomi delle aziende dei clienti dai customers
tabella.
SELECT company
FROM customers;
Code language: SQL (Structured Query Language) (sql)
Provalo
Restituisce 59 righe con molti NULL
valori.
Ora, se applichi il DISTINCT
clausola all'istruzione, manterrà solo una riga con un NULL
valore.
Vedi la seguente dichiarazione:
SELECT DISTINCT company
FROM customers;
Code language: SQL (Structured Query Language) (sql)
Provalo
L'istruzione restituisce 11 righe con un NULL
valore.
Tieni presente che se selezioni un elenco di colonne da una tabella e desideri ottenere una combinazione univoca di alcune colonne, puoi utilizzare il GROUP BY
clausola.
In questo tutorial, hai imparato come rimuovere le righe duplicate da un set di risultati usando SQLite SELECT DISTINCT
clausola.