Hvordan teller jeg unike verdier i PostgreSql?

Hvordan teller jeg unike verdier i PostgreSql?
PostgreSQL -database, som andre databaser, kan lagre data som forblir intakte i lang tid. Dette kan gjøres ved å fjerne redundans fra dataene i skjemaet ved å opprettholde samtidighet og nøyaktighet av tilstedeværende data. Mens du legger til data i forhold, kan du møte en slik situasjon der du ikke legger merke til replikering av de innsatte dataene på tidspunktet for å sette inn. For å fjerne søppelverdiene eller lignende data, trenger vi noen spesielle funksjoner for å holde resten av verdiene unike og distinkte. Count () er en innebygd funksjon av PostgreSQL. Ved å bruke denne funksjonen kan vi få informasjon om dataene som er til stede i tabellen. PostgreSQL omhandler tellingen () veldig effektivt ved å vise data til de oppgitte forholdene. For å få de distinkte dataene eller verdiene når det gjelder diskriminering med andre data, trenger vi noen forskjellige kommandoer og tellingen (). Denne artikkelen vil fremheve eksemplene som er brukt på forskjellige forhold for å utdype begrepet å telle unike verdier i PostgreSQL.

For det første må du opprette en database i den installerte PostgreSQL. Ellers er Postgres databasen som er opprettet som standard når du starter databasen. Vi vil bruke PSQL for å starte implementeringen. Du kan bruke pgadmin.

En tabell som heter “Elementer” opprettes ved å bruke en Create Command.

>> Lag tabellelementer (ID -heltall, navn varchar (10), kategori varchar (10), ordre_no heltall, adresse varchar (10), utløp_måned Varchar (10));

For å legge inn verdier i tabellen brukes en innsatsoppgave.

>> Sett inn elementer verdier (7, 'genser', 'klær', 8, 'Lahore');

Etter å ha satt inn alle data gjennom innsatserklæringen, kan du nå hente alle postene gjennom en valgt uttalelse.

>> Velg * fra elementer;

Eksempel 1
Denne tabellen har, som du kan se fra SNAP, noen lignende data i hver kolonne. For å skille de uvanlige verdiene, vil vi bruke den "distinkte" kommandoen. Denne spørringen vil ta en enkelt kolonne, hvis verdier skal trekkes ut, som en parameter. Vi ønsker å bruke den første kolonnen i tabellen som inndata av spørringen.

>> Velg distinkt (ID) fra elementer bestilling etter ID;

Fra utgangen kan du se at de totale radene er 7, mens tabellen har totalt 10 rader, noe som betyr at noen rader blir trukket. Alle tallene i "ID" -kolonnen som ble duplisert to ganger eller mer, vises bare en gang for å skille den resulterende tabellen fra andre. Alt resultatet er ordnet i stigende rekkefølge ved bruk av "ordrebestemmelse".

Eksempel 2
Dette eksemplet er relatert til subquery, der et distinkt nøkkelord brukes i underkjøringen. Hovedforespørselen velger ordre_no fra innholdet som er oppnådd fra subquery er et innspill for hovedspørsmålet.

>> velg ordre_no fra (velg distinct (ordre_no) fra elementene bestill av ordre_no) som foo;

Subquery vil hente alle de unike ordrenummerene; Selv gjentatte vises en gang. Den samme kolonnen ordre_no bestiller igjen resultatet. På slutten av spørringen har du lagt merke til bruken av 'Foo'. Dette fungerer som en plassholder for å lagre verdien som kan endres i henhold til den gitte tilstanden. Du kan også prøve uten å bruke det. Men for å sikre korrektheten, har vi brukt dette.

Eksempel 3
For å få de distinkte verdiene, her en annen metode for å benytte oss av. Det "distinkte" nøkkelordet brukes med en funksjonstall (), og en klausul som er "gruppe av". Her har vi valgt en kolonne som heter “Adresse”. Tellingsfunksjonen teller verdiene fra adressekolonnen som oppnås gjennom den distinkte funksjonen. Foruten spørringsresultatet, hvis vi tilfeldig tenker å telle de forskjellige verdiene, vil vi komme med en enkelt verdi for hvert element. For som navnet indikerer, vil distinkt bringe verdiene en enten de er til stede i tall. Tilsvarende vil tellefunksjonen bare vise en enkelt verdi.

>> velg adresse, tell (distinkt (adresse)) fra elementene gruppe etter adresse;

Hver adresse telles som et enkelt tall på grunn av forskjellige verdier.

Eksempel 4
En enkel "gruppe etter" -funksjon bestemmer de forskjellige verdiene fra to kolonner. Tilstanden er at kolonnene du har valgt for spørringen for å vise innholdet, må brukes i "gruppen etter" -bestemmelsen fordi spørringen ikke vil fungere ordentlig uten det.

>> Velg ID, kategori fra elementer Group etter kategori, ID -bestilling etter 1;

Alle de resulterende verdiene er organisert i stigende rekkefølge.

Eksempel 5
Igjen vurder den samme tabellen med en viss endring i den. Vi har lagt til et nytt lag for å bruke noen begrensninger.

>> Velg * fra elementer;

Den samme gruppen av og ordren etter klausuler brukes i dette eksemplet som brukes på to kolonner. Id og ordre_no er valgt, og begge er gruppert etter og bestilt av 1.

>> velg id, bestill_no fra elementene gruppe etter id, bestill_no bestilling med 1;

Ettersom hver ID har et annet ordrall, bortsett fra ett nummer som nylig er lagt til "10", vises alle andre tall som har to eller mer tilstedeværelse i tabellen samtidig. For eksempel “1” id har ordre_no 4 og 8, så begge er nevnt separat. Men når det gjelder “10” ID, er det skrevet en gang fordi både ID -ene og ordren_no er de samme.

Eksempel 6
Vi har brukt spørringen som nevnt ovenfor med tellefunksjonen. Dette vil danne en ekstra kolonne med den resulterende verdien for å vise telleverdien. Denne verdien er antall ganger både "id", og "order_no" er de samme.

>> velg id, ordre_no, count (*) fra elementene gruppe etter id, ordre_no bestilling med 1;

Utgangen viser at hver rad har telleverdien på “1”, ettersom begge har en enkelt verdi som er ulik fra hverandre bortsett fra den siste.

Eksempel 7
Dette eksemplet bruker nesten alle klausulene. For eksempel brukes valgklausulen, gruppen ved å ha klausul, pålegg etter klausul og en tellefunksjon. Ved å bruke "å ha" -klausulen, kan vi også få dupliserte verdier, men vi har brukt en betingelse med tellefunksjonen her.

>> velg ordre_no fra elementene gruppe av ordre_no som har count (ordre_no)> 1 bestilling med 1;

Bare en enkelt kolonne er valgt. Først av alt er verdiene til ordre_no som er forskjellige fra andre rader valgt, og tellefunksjonen blir brukt på den. Resultatet som oppnås etter tellefunksjonen er ordnet i stigende rekkefølge. Og alle verdiene blir deretter sammenlignet med verdien “1”. Disse verdiene til kolonnen større enn 1 vises. Derfor får vi bare 4 rader fra 11 rader.

Konklusjon

“Hvordan teller jeg unike verdier i PostgreSQL” har en egen arbeid enn en enkel tellefunksjon, da den kan brukes med forskjellige klausuler. For å hente posten som har en tydelig verdi, har vi brukt mange begrensninger og telling og distinkt funksjon. Denne artikkelen vil guide deg om konseptet med å telle de unike verdiene i forholdet.