Come faccio a contare i valori unici in PostgreSQL?

Come faccio a contare i valori unici in PostgreSQL?
Il database PostgreSQL, come altri database, può archiviare dati che rimangono intatti per molto tempo. Ciò può essere fatto rimuovendo la ridondanza dai dati nello schema mantenendo la concorrenza e l'accuratezza dei dati presenti. Durante l'aggiunta di dati nelle relazioni, potresti incontrare una situazione del genere in cui non si nota la replica dei dati inseriti al momento dell'inserimento. Per rimuovere i valori della spazzatura o dati simili, abbiamo bisogno di alcune funzioni speciali per mantenere il resto dei valori unici e distinti. Count () è una funzione integrata di PostgreSQL. Utilizzando questa funzione, possiamo ottenere informazioni sui dati presenti nella tabella. PostgreSQL si occupa del conteggio () in modo molto efficace visualizzando i dati alle condizioni fornite. Per ottenere i dati distinti o i valori in termini di discriminazione con altri dati, abbiamo bisogno di alcuni comandi diversi e del conteggio (). Questo articolo metterà in evidenza gli esempi applicati su diverse relazioni per elaborare il concetto di contare i valori unici in PostgreSQL.

In primo luogo, è necessario creare un database nel postgresql installato. Altrimenti, Postgres è il database creato per impostazione predefinita quando si avvia il database. Useremo PSQL per iniziare l'implementazione. Puoi usare pgadmin.

Una tabella denominata "elementi" viene creata utilizzando un comando Crea.

>> Crea elementi della tabella (ID integer, nome Varchar (10), categoria Varchar (10), ordine_no intero, indirizzo varchar (10), scadenza_month varchar (10));

Per immettere i valori nella tabella, viene utilizzata un'istruzione insert.

>> inserire nei valori degli oggetti (7, "maglione", "vestiti", 8, "lahore");

Dopo aver inserito tutti i dati tramite l'istruzione Insert, ora è possibile recuperare tutti i record tramite un'istruzione SELECT.

>> Seleziona * dagli elementi;

Esempio 1
Questa tabella, come puoi vedere dallo snap, ha alcuni dati simili in ogni colonna. Per distinguere i valori non comuni, applicheremo il comando "distinto". Questa query prenderà una singola colonna, i cui valori devono essere estratti, come parametro. Vogliamo utilizzare la prima colonna della tabella come input della query.

>> Seleziona distinto (ID) dall'ordine degli elementi per ID;

Dall'output, puoi vedere che le righe totali sono 7, mentre la tabella ha 10 righe in totale, il che significa che alcune righe vengono detratte. Tutti i numeri nella colonna "ID" che sono stati duplicati due o più sono visualizzati una volta per distinguere la tabella risultante da altri. Tutto il risultato è disposto nell'ordine ascendente mediante l'uso di "clausola dell'ordine".

Esempio 2
Questo esempio è correlato alla sottoquery, in cui viene utilizzata una parola chiave distinta all'interno della sottoquery. La query principale seleziona l'ordine_no dal contenuto ottenuto dalla sottoquery è un input per la query principale.

>> Seleziona ordine_no da (seleziona distinto (ordine_no) dagli elementi ordini di ordine_no) come foo;

La sottoquery prenderà tutti i numeri di ordine univoci; Anche quelli ripetuti vengono visualizzati una volta. Lo stesso ordine di colonna_no ordina di nuovo il risultato. Alla fine della query, hai notato l'uso di "foo". Questo funge da segnaposto per archiviare il valore che può cambiare in base alla condizione data. Puoi anche provare senza usarlo. Ma per garantire la correttezza, abbiamo usato questo.

Esempio 3
Per ottenere i valori distinti, qui abbiamo un altro metodo per sfruttare. La parola chiave "distinta" viene utilizzata con un conteggio delle funzioni () e una clausola che è "gruppo di". Qui abbiamo selezionato una colonna denominata "indirizzo". La funzione di conteggio conta i valori dalla colonna dell'indirizzo ottenuti attraverso la funzione distinta. Oltre al risultato della query, se pensiamo casualmente a contare i valori distinti, arriveremo con un singolo valore per ogni elemento. Perché come indica il nome, distinto porterà i valori uno o sono presenti in numeri. Allo stesso modo, la funzione di conteggio visualizzerà solo un singolo valore.

>> Seleziona indirizzo, conteggio (distinto (indirizzo)) dal gruppo di articoli per indirizzo;

Ogni indirizzo viene conteggiato come un singolo numero a causa di valori distinti.

Esempio 4
Una semplice funzione "gruppo per" determina i valori distinti da due colonne. La condizione è che le colonne che hai selezionato per la query per visualizzare il contenuto devono essere utilizzate nella clausola "Gruppo per" perché la query non funzionerà correttamente senza quello.

>> Seleziona ID, categoria dal gruppo di elementi per categoria, ordine ID per 1;

Tutti i valori risultanti sono organizzati in ordine crescente.

Esempio 5
Considera ancora una volta la stessa tabella con qualche alterazione in esso. Abbiamo aggiunto un nuovo livello per applicare alcuni vincoli.

>> Seleziona * dagli elementi;

Lo stesso gruppo di e l'ordine delle clausole viene utilizzato in questo esempio applicato a due colonne. ID e l'ordine_no sono selezionati ed entrambi sono raggruppati e ordinati da 1.

>> Seleziona ID, ordine_no dal gruppo di elementi per ID, ordine_no ordine di 1;

Poiché ogni ID ha un numero di ordine diverso tranne un numero che viene recentemente aggiunto "10", tutti gli altri numeri che hanno due o più presenze nella tabella vengono visualizzati contemporaneamente. Ad esempio, l'ID "1" ha order_no 4 e 8, quindi entrambi sono menzionati separatamente. Ma nel caso di "10" ID, è scritto una volta perché sia ​​gli ID che l'ordine_no sono gli stessi.

Esempio 6
Abbiamo usato la query come menzionato sopra con la funzione di conteggio. Ciò costituirà una colonna aggiuntiva con il valore risultante per visualizzare il valore di conteggio. Questo valore è il numero di volte sia "id", sia "order_no" sono gli stessi.

>> Seleziona ID, ordine_no, conta (*) dal gruppo di elementi per ID, ordine_no ordine di 1;

L'output mostra che ogni riga ha il valore di conteggio di "1" in quanto entrambi hanno un singolo valore diverso l'uno dall'altro tranne l'ultimo.

Esempio 7
Questo esempio usa quasi tutte le clausole. Ad esempio, vengono utilizzate la clausola selezionata, il gruppo di, con clausola, ordine per clausola e una funzione di conteggio. Usando la clausola "avendo", possiamo anche ottenere valori duplicati, ma abbiamo applicato una condizione con la funzione di conteggio qui.

>> Seleziona ordine_no dal gruppo di elementi di ordine_no con conteggio (ordine_no)> 1 ordine di 1;

Viene selezionata una sola colonna. Prima di tutto, vengono selezionati i valori di ordine_no che sono distinti dalle altre righe e la funzione di conteggio viene applicata ad essa. Il risultato che viene ottenuto dopo la funzione di conteggio è disposto in ordine crescente. E tutti i valori vengono quindi confrontati con il valore "1". Vengono visualizzati quei valori della colonna maggiore di 1. Ecco perché da 11 file, otteniamo solo 4 file.

Conclusione

"Come faccio a contare i valori univoci in PostgreSQL" ha un funzionamento separato rispetto a una semplice funzione di conteggio in quanto può essere utilizzato con clausole diverse. Per recuperare il record con un valore distinto, abbiamo usato molti vincoli e il conteggio e la funzione distinta. Questo articolo ti guiderà sul concetto di contare i valori unici nella relazione.