La parola chiave DISTINCT esclude dai risultati le righe duplicate.
Es: vogliamo elencare tutti i valori che sono contenuti nel campo “nome_via” di una tabella contenente i nomi di tutte le strade. Può succedere che esistano strade “spezzate” in più tratti ed in un database geometrico (PostGIS) siano memorizzati più archi di strada con lo stesso nome. DISTINCT consente di elencare i valori non ripetuti:
nome_database=# SELECT DISTINCT nome_via FROM nome_tabella_strade;
Nel caso volessimo elencare i nomi delle strade così distinte indicando anche la lunghezza totale dei tratti che hanno lo stesso nome:
nome_database=#SELECT DISTINCT nome,sum(lunghezza) FROM nome_tabella_strade GROUP BY nome;
e se volessimo esportare l’output della query in un file CSV:
– nel prompt di psql indicare:
nome_database=# \o /percorso/alt/file/nome_file_output.csv
– poi lanciare la query:
nome_database=#SELECT DISTINCT nome,sum(lunghezza) FROM nome_tabella_strade GROUP BY nome;
– In questo modo otteniamo un file CSV con il risultato.